Autor Zpráva
Kabrňák
Profil *
Dobrý den,

mám následující kód, zatím mimo PHP, ale je to nejmenší ho vypsat echem, jak bych měl ale některou z položek označit jako selected? Jediné co mě aktuálně napadá je: if promena=neco else, ale to by znamenalo 2x tolik kódu, vlastně by tam byly všechny ty selekty 2x... :) Napadlo by tedy prosím někoho jak by se to dalo udělat elegantněji? Moc děkuji.

<form action=a.php method=GET>
<select name=auto>
<option value=vsechny>Všechna auta</option>
<option value=1>Škoda</option>
<option value=2>Opel</option>
Chamurappi
Profil
Reaguji na Kabrňáka:
option value
Připadá ti, že tento název vystihuje podstatu dotazu? Vymysli lepší, napiš ho sem a já vlákno přejmenuji. Jinak ho smažu.

to by znamenalo 2x tolik kódu
Vypisuj je funkcí, nebo cyklem…
Kabrňák
Profil *
Chamurappi:
Jak označit option value jako selected? - Asi jsem hlupák, ale žádný příhodný název mě nenapadá.

Je "prasárna" udělat to asi takto?:
<option value=vsechny <? if(a==b){echo "selected";}?>>Všechna auta</option>
blaaablaaa
Profil
Kabrňák:
Delam to stejnym zpusobem.
Kabrňák
Profil *
Díky, ale je to podle mě hrůza... :)
GeneralDv
Profil
Mě napadá uložit hodnoty do pole a pak procházet pomocí foreach, např.:
$seznam=array(
   1 => "jedna",
   2 => "dva",
   3 => "tri"
);

echo "<select name=\"znamka\" size=\"1\">";

foreach ($seznam as $key=>$value) {
    echo "<option value=\"$key\"".($_GET['i']==$key?' selected':'').">$value ($key)</option>";
}

echo "</select>";
SwimX
Profil
Kabrňák:
v podstatě to co dělá GeneralDv, ale mám to ve funkci. Tak aby se mohlo univerzálně zvolit, dza se bude select vyplňovat z pole nebo databáze, třetí parametr (první je name) je hodnota, která má být označena, pokud není určena vezme se $_REQUEST[$name].
AM_
Profil
Kabrňák:
Je "prasárna" udělat to asi takto?:
záleží, kolik těch optionů je. Pokud tři, není na tom nic špatného, pokud třicet, už bys to měl mít ve funkci.

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