řeším aktualizaci komba a dat ktere jsou v databazi. Mam to pod polozkou okres a pod ni jsou různá města. Jak to udělat, aby mi v kombu vyběhla všechna města a také již prvně zvolené město např. prostějov.
Díky za pomoc
elseif ($a == "edit") {
$sql="SELECT * FROM list WHERE cislo=$cislo";
$mysql_result= mysql_query($sql,$connection);
$num_rows=@mysql_num_rows($mysql_result);
if ($num_rows == 0) {echo "<br>Chyba ve zpracovávání dotazu.<br>";}
else
{
while ($row = mysql_fetch_array($mysql_result))
{
$okres=$row["okres"];
echo "<table>";
echo "<form action=index.php?a=save method=post>
<select value=$okres>
<option value=$okres>$okres</option>
<option value=Olomouc>Olomouc</option>
<option value=Přerov>Prerov</option>
</select></td></tr>";
echo "<tr colspan=2><td ><td><input type=reset value=Reset> <input type=submit value=Uloz zmeny> </td></tr>";
echo "</form>";
echo "</table>";
}
}
}
To jsem nejak nepochopil...
Asi by to chtelo strukturu poterbne tabulky/tabulek MySQL a priklad vystupu.
Prosim ještě jednou o radu. Už jsem to lépe specifikoval.
Nejdřív mám formulář, ve kterém mám kombo a to se ukladá do db (jsou tam udaje jako napr. Praha, Brno, Olomouc, ....). Např. když zvolim Brno a dám uložit, uloží se položka Brno. - to je v pohode.
<select name=okres>
<option value=Prostějov selected>Prostejov</option>
<option value=Olomouc>Olomouc</option>
<option value=Přerov>Prerov</option>
</select>
Ted, ale potřebuji, když jsem v editačním formuláři, aby mi v kombu vyjeli všechny města včetně Brna (ktere by bylo zvyraznene) a abych mohl zvolit napr. Olomouc a ulozil zmenu z nazvem Olomouc.
Zkousel jsem to nize uvedenym skriptem, to mi vzdy v kombu vyjedou vsechny okresy, plus okres v databazi, tem je tam vzdy dvakrát.
Jak to udelat tak,aby tam byl kazdy jen jednou? Diky
elseif ($a == "edit") {
$sql="SELECT * FROM list WHERE cislo=$cislo";
$mysql_result= mysql_query($sql,$connection);
$num_rows=@mysql_num_rows($mysql_result);
if ($num_rows == 0) {echo "<br>Chyba ve zpracovávání dotazu.<br>";}
else
{
while ($row = mysql_fetch_array($mysql_result))
{
$okres=$row["okres"];
echo "<form action=\"index.php?a=save\" method=post>";
echo "Okres:
<select name=okres>
<option value=$okres >$okres</option>
<option value=Prostějov >Prostejov</option>
<option value=Olomouc>Olomouc</option>
<option value=Přerov>Prerov</option>
</select>">";
echo "<input type=submit value=\"Updatovat\">";
echo "</form>";
}
}
}
Aha.
Jednoduse:
...
echo "Okres:
<select name=okres>
<option value=Prostějov".(($okres == 'Prostějov') ? " selected" : "").">Prostejov</option>
<option value=Olomouc".(($okres == 'Olomouc') ? " selected" : "").">Olomouc</option>
<option value=Přerov".(($okres == 'Přerov') ? " selected" : "").">Prerov</option>
</select>";
...
Neopravoval jsem, co bych napsal jinak (uvozovky kolem hodnot html atributu...). Tak pridana konstrukce, pokud ji neznate, je zkraceny if -
(podminka) ? if_true : else - tady prida text " selected", pokud se jmeno okresu shoduje s ulozenym, jinak prida prazdny retezec.