zobrazenie checked na zaklade vyberu z db

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 :-(
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.
for je napsane spravne.