Autor Zpráva
Xiwast
Profil *
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
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 *
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á.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0