18. oktober 2004 - 14:17
Der er
11 kommentarer
Update DB ved hjælp af checkboxe?
Jeg har følgende form : <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" width="20%"> <tr> <td width="100%"> <p align="center"><b>Foretag valg og tryk opdater..</b></p> <br> <form action="vis_i_box.php" method="post" enctype="multipart/form-data"> <? $query2 = mysql_query ("SELECT overskrift, id, pop, tid FROM pix order by overskrift"); while ($data2 = mysql_fetch_array($query2)) { ?><b><? echo "<input type=\"checkbox\" name=\"kat[".$data2[id]."]\"";?> value="1" <?if($data2[pop]==1){?>checked<?}?>><?echo $data2[overskrift];?> </b><br> <? } ?> <p align="center"><input class="knap" type="submit" value="Opdater" name="B1"></p> <input type="hidden" name="update" value="1" size="20"> </td> </tr> </table> </center> </div> </form> Den sender data til følgende update : if($update){ reset($kat); foreach ($kat as $key=$value) { $sql = "update pix set pop='$value' where id='$key'"; mysql_query($sql) or die(mysql_error()); } Problemet er at den kun opdatere hvis der er krydset af i checkboxen. Altså de boxe der er krydset af sætter et 1 tal i tabellen men de boxe der IKKE er krydset af sletter ikke 1 tallet fra tabellen.. Hvordan får jeg den til det??
Annonceindlæg fra Cognizant
18. oktober 2004 - 14:21
#1
Glem det.. Fandt selv svaret... :-)
18. oktober 2004 - 14:21
#2
Jeg gjorde sådan her : if($update){ reset($kat); foreach ($kat as $key=>$value) { if($value=1) { $value2==1; } else { $value2==0; } $sql = "update pix set pop='$value2' where id='$key'"; mysql_query($sql) or die(mysql_error()); }
18. oktober 2004 - 14:36
#3
Ups nej.. Det virkede ikke 100 %.. Såå, svar endelig hvis I kan hjælpe mig....
18. oktober 2004 - 14:50
#4
if($update){ reset($kat); foreach ($kat as $key => $value) { if($value==1) { $value2=1; } else { $value2=0; } $sql = "update pix set pop='$value2' where id='$key'"; mysql_query($sql) or die(mysql_error()); } //sostack
18. oktober 2004 - 14:51
#5
== er til at sammenligne to værdier med, = er til at tildele en variabel en værdi. //sostack
18. oktober 2004 - 15:01
#6
Ups ja.. Men det funker nu stadig ikke.. Den opdatere kun de boxe der er afkrydset.. Desuden kommer den med en fejl hvis man fjerner alle afkrydserningerne.. Er der en anden måde at lave sådan en opdatering med??
18. oktober 2004 - 19:00
#7
Er der slet ingen der har en ide om hvordan jeg kører alle records igennem og smider 0 og 1 ind de rigtige steder i tabellen??
19. oktober 2004 - 07:04
#8
en checkbox returnerer "on", hvis den er krydset af, ellers ingenting! //sostack
19. oktober 2004 - 07:08
#9
OG væn dig til at bruge $_POST["update"] eller $REQUEST["update"], da man ikke kan være sikker på, at register_globals altid er sat. //sostack
19. oktober 2004 - 08:27
#10
"en checkbox returnerer "on", hvis den er krydset af, ellers ingenting!" Ja, det ved jeg.. Deri ligger sikkert mit problem.. Men hvordan løser jeg det mon?? Jeg vil jo gerne både kunne vælge til og fra på mine checkboxe..
20. oktober 2004 - 20:19
#11
Er der virkelig ingen der kan hjælpe med at få smidt mine 1'er og 0'er i min DB???
Vi tilbyder markedets bedste kurser inden for webudvikling