zobrazenie checked na zaklade vyberu z db

3 příspěvky

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Zdravim, najprv kusok kodu: ---------------------------- echo "<table>"; while ($k=mysql_fetch_object($result)){ $podkap = $k->podkapitola; $cast = explode (",",$podkap); $kusov = count ($cast); } $query = "select * from kapitoly where kniha = 'Stavebníctvo' order by Kapitola"; $result = mysql_query ($query,$db) or die ("nešlo vykonat"); $pocet= mysql_num_rows($result); while ($k=mysql_fetch_object($result)){ $kapitola = $k->Kapitola; $podkapitola = $k->Podkapitola; $id =$k->ID; //začiatok for for ($i=0; $i<$kusov; $i++): if ($id == $cast[$i]){ $zobraz = "<input name=\"$id\" type=\"checkbox\" value=\"\" checked />"; }else {$zobraz = "<input name=\"$id\" type=\"checkbox\" value=\"\"/>";} endfor; //koniec for echo " <tr> <td style=\"background-color:#B7B7B7;\">$zobraz</td> <td style=\"background-color:#B7B7B7;\">$podkapitola</td> <td style=\"background-color:#B7B7B7;\">$kapitola</td> <td style=\"background-color:#B7B7B7;\">$id</td> </tr> ----------------------------------- moj problem sa tyka tejto casti: ak to zapisem takymto sposobom, odcheckuje mi iba posledne pole z celkovych asi 10. //začiatok for for ($i=0; $i<$kusov; $i++): if ($id == $cast[$i]){ $zobraz = "<input name=\"$id\" type=\"checkbox\" value=\"\" checked />"; }else {$zobraz = "<input name=\"$id\" type=\"checkbox\" value=\"\"/>";} endfor; -------- Ak pisem rucne, napr if ($id == $cast[0]),if ($id == $cast[1]), atd, tak mi vyberie spravny zaznam, neviem prist na to, kde robim chybu :-(
  2. Hmmm, nevidím tam chybu. Akorát si furt nemůžu zvyknout na zápisy for: endfor; Co když je chyba někde tady zkus to přepsat na for () { }. Manipuluje se tam s $i, možná by to mohlo pomoct.
  3. for je napsane spravne.

← Zpět na všechna témata