19. august 2007 - 23:13
Der er
7 kommentarer og 1 løsning
problemer med mine while scripts
i kode version 1 virker scriptet fint: while($row = mysql_fetch_array($query5)) { echo '<tr><td colspan="3"><input type="checkbox" name="ids[]"'; echo '" value="' . $row['surfacenavn'] . ":" . $row['farvekode'] . '">'; echo $row['surfacenavn']; echo '</td></tr>'; } i kode version 2 "mister" jeg værdien i $row['farvekode'] der kommer efter ":" herunder ses kode version 2: while($row = mysql_fetch_array($query5)) { $query = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr='" . $_GET["varenr"] . "'")or die(mysql_error()); echo '<tr><td colspan="3"><input type="checkbox" name="ids[]"'; echo ' value="' . $row['surfacenavn'] . '":"' . $row['farvekode'] . '" '; while($row7 = mysql_fetch_array($query)) { if($row7['surfacenavn']==$row['surfacenavn']) { echo 'checked="checked"'; } } echo '>'; echo $row['surfacenavn']; echo '</td></tr>'; } Jeg bruger så til sidst følgende kode til at indsætte i databasen hvilke checkboxe der er checked: $ids = ( isset( $_POST['ids'] ) && is_array( $_POST['ids'] ) ? $_POST['ids'] : array() ); foreach( $ids as $id ) { list($surfacenavn, $farvekode) = explode(":", $id); $sql_dd = "insert into shop_surface_dd (varenr, farvekode, surfacenavn) values ('$varenr', '$farvekode', '$surfacenavn')"; $result_dd = mysql_query($sql_dd) or die(mysql_error()); } Håber nogle af jer skarpe php gutter ka hjælpe mig endnu engang =)
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?
19. august 2007 - 23:16
#1
Hvad er der galt i at skrive echo '" value="' . $row['surfacenavn'] . ":" . $row['farvekode'] . '">'; som i første version?
20. august 2007 - 16:45
#2
uhm det står da også i kode version 2?! while($row = mysql_fetch_array($query5)) { $query = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr='" . $_GET["varenr"] . "'")or die(mysql_error()); echo '<tr><td colspan="3"><input type="checkbox" name="ids[]"'; echo ' value="' . $row['surfacenavn'] . '":"' . $row['farvekode'] . '" '; //der står vel også value surfacenavn:farvekode her... while($row7 = mysql_fetch_array($query)) { if($row7['surfacenavn']==$row['surfacenavn']) { echo 'checked="checked"'; } } echo '>'; echo $row['surfacenavn']; echo '</td></tr>'; }
20. august 2007 - 16:50
#3
Nej
20. august 2007 - 16:51
#4
Ok, det var måske lige kort nok ;) Men hvis den første virker, er der da ingen grund til at lave den om. Og nummer 2 virker ikke pga "-ere i værdien for attributten.
20. august 2007 - 17:20
#5
altså jeg ved ikke lige hvad der var galt, men jeg byggede den op forfra og nu virker den! =) Smid lige et svar så jeg kan få lukket det hersens spørgsmål =)
20. august 2007 - 17:23
#6
grunden til at jeg skulle lave kode version 1 om var at jeg skulle checke hvilke boxe der var sat kryds i da man oprettede varen i sin tid. så lavede jeg den her while og puttede ind i: while($row7 = mysql_fetch_array($query)) { if($row7['surfacenavn']==$row['surfacenavn']) { echo 'checked="checked"'; } }
20. august 2007 - 17:29
#7
Ingen point til mig, tak.
20. august 2007 - 18:31
#8
hehe nåe ja det er vist dig der ikke plejer at ville have points,.. det har jeg sikkert glemt til næste gang :D
Vi tilbyder markedets bedste kurser inden for webudvikling