23. juni 2006 - 17:19
Der er
7 kommentarer og 1 løsning
Update array
Hej Jeg har lidt problemer med at få UPDATE til at virke jeg har en form $sql = "SELECT * FROM mintabel"; $result = mysql_query($sql) or die(mysql_error()); $display_block = "<table cellpadding=3 cellspacing=1 border=1><th>Navn</th><th>alder</th></tr>"; While ($info = mysql_fetch_array($result)){ $id= $info['id']; $navn= $info['navn']; $alder=$info['alder']; $display_block .= " <form name=test action=insert.php method=post> <tr><td><input type='text' name='navn[]' value=$navn></td><td><input type='text' name='alder[]' value=$alder></td></tr> <input type='hidden' name='id' value=$id> mit script til update ser sådan her ud $id=$_REQUEST['id']; $arr_navn=$_REQUEST['navn']; $arr_alder=$_REQUEST['alder']; for($i=0;$i<sizeof($arr_navn);$i++){ mysql_query("UPDATE mintabel SET navn='".$arr_navn[$i]."',alder='.$arr_alder[$i].' WHERE id='$id'") or die (mysql_error()); } hvordan kommer det til at virke??
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Den side du smider data til, prøv at start med at lav: <?php echo "JEG DEBUGGER<br />"; echo "<pre>"; print_r($_POST); echo "</pre>"; ?> Så vil du se hvordan du modtager data. Hvis du så evt. rettede: <tr><td><input type='text' name='navn[]' value=$navn></td><td><input type='text' name='alder[]' value=$alder></td></tr> <input type='hidden' name='id' value=$id> Til: <tr><td><input type='text' name='navn[$id]' value=$navn></td><td><input type='text' name='alder[$id]' value=$alder></td></tr> Så kunne du bruge: foreach($_POST['navn'] $key => $value) { echo "ID ER: " . $key . "<br />"; echo "NAVN ER: " . $value . "<br />"; }
hvis jeg debugger får jeg følgende JEG DEBUGGER Array ( [navn] => Array ( [1] => test1 [2] => test2 [3] => test3 [4] => test4 [5] => test5 [6] => test6 ) [alder] => Array ( [1] => 12 [2] => 13 [3] => 14 [4] => 15 [5] => 16 [6] => 17 ) [id] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) [submit] => Ret sortering ) Det ser jo fint nok ud. Hvor vil du sætte foreach($_POST['navn'] $key => $value) { echo "ID ER: " . $key . "<br />"; echo "NAVN ER: " . $value . "<br />"; } ind?
I stedet for dette: $id=$_REQUEST['id']; $arr_navn=$_REQUEST['navn']; $arr_alder=$_REQUEST['alder']; for($i=0;$i<sizeof($arr_navn);$i++){ mysql_query("UPDATE mintabel SET navn='".$arr_navn[$i]."',alder='.$arr_alder[$i].' WHERE id='$id'") or die (mysql_error()); } ville jeg lave: foreach($_POST['navn'] AS $key => $value) { mysql_query("UPDATE mintabel SET navn='".$_POST['navn'][$key]."',alder='.$_POST['alder'][$key].' WHERE id='$key'") or die (mysql_error()); }
Ja nu nærmer det sig noget, dog opdatere den ikke alder kan den også komme til det?
Det skulle den da meget gerne gøre. Sikker på feltet hedder alder?
der manglede lige et par "" så var den kørende takker ligger du et svar så du kan få dine velfortjente point ;-)
Vi tilbyder markedets bedste kurser inden for webudvikling