Checkboxe, der ikke ved at de er krydset af
Hej eksperter!,Jeg ahr lidt problemer med noget kode, der ikke lige opfører sig rigtigt.
Først skriver jeg en liste af checkboxe ud på siden. Alt efter om der er records i db'en, så er de checked eller ej:
********** KODE **********
for($i; $i<sizeof($RS); $i++)
{
extract($RS[$i]);
IF(fmod($i,2))
$bgcolor = "$blaa05";
else
$bgcolor = "$blaa04";
echo "<tr bgcolor=$bgcolor><td>$overskrift</td><td> </td><td>$kategorinavn</td><td> </td>";
$SQL = "SELECT COUNT(1) as antal FROM rel_artikel_tema WHERE artikelid = $artikelid AND artikeltemaid = $artikeltemaid";
$antalRS = sql_forespoerg($SQL);
extract($antalRS['0']);
if($antal == 0)
echo "<td><input type='checkbox' name='checkbox[$artikelid]' value='on'></td></tr>";
else
echo "<td><input type='checkbox' name='checkbox[$artikeldid]' value='on' checked='checked'></td></tr>";
}
**************************
Når man submitter bliver resultatet sendt til samme side. Her bliver listen af checkboxe løbet igennem, og undersøgt om de er checked. De boxe, som maskinen har sat til checked (og som jeg ikke har rørt ved) bliver læst som om de ikke er checked af! - underligt.
********** KODE **********
for($i=0; $i<sizeof($artiklerRS); $i++)
{
extract($artiklerRS[$i]);
$checkbox = $_REQUEST['checkbox'];
echo $checkbox[$artikelid];
if ($checkbox[$artikelid] == 'on')
{
$SQL = "SELECT COUNT(1) as antal FROM rel_artikel_tema WHERE artikelid = '$artikelid' AND artikeltemaid = '$valgttema'";
$RS = sql_forespoerg($SQL);
//Hvis der ikke allerede er en artikel_tema relation.
if($RS[0][0]==0)
{
$SQL = "INSERT INTO rel_artikel_tema (artikelid, artikeltemaid) VALUES ($artikelid, $valgttema)";
sql_udfoer($SQL);
}
}
else //Skal slette eventuelle relationer der er for meget
{
$SQL = "SELECT COUNT(1) as antal FROM rel_artikel_tema WHERE artikelid = '$artikelid' AND artikeltemaid = '$valgttema'";
$RS = sql_forespoerg($SQL);
if($RS[0][0]>0)
{
echo $SQL = "DELETE FROM rel_artikel_tema WHERE artikelid = '$artikelid' AND artikeltemaid = '$valgttema'";
sql_udfoer($SQL);
}
}
}
**************************
Håber på hurtig hjælp!
/Steven
