| Autor | Zpráva | ||
|---|---|---|---|
| Xiwast Profil * |
#1 · Zasláno: 13. 12. 2011, 23:45:43
Ahoj,
mám problém s výpisem z databáze. Pomocí formuláře vyberu název oblasti (třeba Praha - východ) kterou mám vypsanou v tabulce databáze, a potřebuji aby se vybraly pouze řádky odpovídající oblasti. Bohužel ten výběr nefunguje. Proměnná se ale definuje (zkoušel jsem vypsat echo "$oblastsel" a to bylo OK. Proč se tedy nechtěj vypsat řádky rovné $oblastsel, mám tam nějakou chybku? Někdo říká, že to může být neshodou názvů vlivem kódování a lepší by bylo to rozlišovat přes id oblasti. Jen nevím jak to vyřešit pomocí toho id, v tabulce má každý řádek id unikátní. Názvy oblastí se (některé) shodují a nevím jak říct že chci vybrat pouze oblasti se schodným názvem s vybranou hodnotou z roletky. Jsem začátečník. Díky za každou radu... <?php
$oblastsel = $_POST['oblast_select'];
mysql_query("set names cp1250");
$db=mysql_select_db("svet") or die ("Nepovedlo se otevřít databázi");
$query = "SELECT * FROM cesty WHERE oblast = '$oblastsel'";
$result = mysql_query($query) or die(mysql_error());
?>
<form name="form" action="cestuvypis.php" method="post">
<select name="oblast_select" size="1" onchange=submit() >
<?php
mysql_query("set names cp1250");
$sql = "SELECT DISTINCT oblast FROM cesty ORDER BY oblast";
$result2 = mysql_query($sql) or die(mysql_error());
while ($row=mysql_fetch_array($result2)){
echo "<option>".$row["oblast"]."</option>"; }
mysql_free_result($result2);
?>
</select>
</form> |
||
| Tori Profil |
#2 · Zasláno: 14. 12. 2011, 15:50:54
Xiwast:
„Proč se tedy nechtěj vypsat řádky rovné $oblastsel,“ Kde se mají vypisovat? V tom skriptu je pouze zkoušíte najít v DB, ale pak zas načtete všechny. Anebo to jsou části dvou různých skriptů? > lepší by bylo to rozlišovat přes id oblasti. Jen nevím jak to vyřešit pomocí toho id, v > tabulce má každý řádek id unikátní. Názvy oblastí se (některé) shodují Správně by měly být názvy oblastí uložené v samostatné tabulce (abyste v případě překlepu měnil jen jednu hodnotu, ne polovinu tabulky), a v tab. cesty bude místo názvu jejich ID. |
||
| Xiwast Profil * |
#3 · Zasláno: 14. 12. 2011, 17:11:54
Tori:
Myslel jsem jako že se vypíšou na základě výběru z menu <select>. V tabulce mám vždy název oblasti, cestu a k tomu další atributy. Vy myslíte jako, že by se přiřazovaly názvy oblastí k jednotlivým řádkům v tabulce (jako propojení dvou tabulek)? Moc si to neumím představit. Jde také o to, že uživatel má možnost přidat název oblasti vypsáním, anebo výběrem z menu. Nevím zda by to šlo kombinovat. Mě by stačilo kdyby se nějak dal porovnat ten název oblasti. Databáze nebude velká. |
||
|
Časová prodleva: 15 let
|
|||
0