Przedstawię ogólny zarys rozwiązania problemu.
Z checkbox robimy taki:
for($i=0;$i<=30;$i++) //ewentualnie liczbę 30 możesz zastąpić fragmentem kodu, który będzie dynamicznie generował liczbę.
{
if($i == $tablica_baza_danych[$i]['id_pole']) //nie wiem jak masz urządzoną bazę danych, prawdopodobnie bedziesz musial to trochę zmodyfikować. Chodzi głównie o mechanizm, chyba rozumiesz o co chodzi ;)
{
echo '<input type="checkbox" value="wartosc" name="'.$tablica_baza_danych[$i]['nazwa'].'" checked="checked" />'; }
else
{
echo '<input type="checkbox" value="wartosc" name="nazwa"/>'; }
}
Z select, ja robiłem tak, że budowałem oddzielną funkcję, która na podstawie switcha wszystko mi generuje np:
function Katalog($kryterium)
{
switch($kryterium)
{
case "0":
$rodzaj= '
<select size="1" name="dostawa">
<option value="0">Odbiór osobisty</option>
<option value="1">Poczta Polska: </option>
<option value="2">Kurier: przesyłka</option>
</select>
';
return $rodzaj;
break;
case "1":
$rodzaj= '
<select size="1" name="dostawa">
<option value="1">Poczta Polska: </option>
<option value="0">Odbiór osobisty</option>
<option value="2">Kurier: przesyłka</option>
</select>
';
return $rodzaj;
break;
case "2":
$rodzaj= '
<select size="1" name="dostawa">
<option value="2">Kurier: przesyłka</option>
<option value="1">Poczta Polska: </option>
<option value="0">Odbiór osobisty</option>
</select>
';
return $rodzaj;
break;
}
}
Lepszego sposobu nie wymyśliłem, problem w tym, że jeśli masz naprawdę dużo opcji, wszystko będzie duże....
Z radio robimy tak samo jak z checkbox, też musimy dodać: checked="checked".
Mam nadzieję, że pomogłem