28. maj 2003 - 10:57
Der er
12 kommentarer og 2 løsninger
Hive indtastede data ud i checkboxe!?
Hej, jeg har en form med forskellige checkboxe: <form action="gem.php" method="post" name="kompetence_add" onSubmit="return Checkform(this);"> <br> <h3>outlook</h3> <br> <b>hvordan er oplæringen forgået?</b> <br> e-learning <input type="checkbox" name="outlook[]" value="1"><br> sidemandsoplæring <input type="checkbox" name="outlook[]" value="2"><br> klasseundervisning <input type="checkbox" name="outlook[]" value="3"><br> har ikke fået undervisning <input type="checkbox" name="outlook[]" value="4"><br><br> <b>hvor go er du mester?</b><br> go <input type="checkbox" name="outlook[]" value="5"><br> ok <input type="checkbox" name="outlook[]" value="6"><br> mangler uddannelse <input type="checkbox" name="outlook[]" value="7"><br><br> <h3>ie</h3> <br> <b>hvordan er oplæringen forgået?</b> <br> e-learning <input type="checkbox" name="ie[]" value="1"><br> sidemandsoplæring <input type="checkbox" name="ie[]" value="2"><br> klasseundervisning <input type="checkbox" name="ie[]" value="3"><br> har ikke fået undervisning <input type="checkbox" name="ie[]" value="4"><br><br> <b>hvor go er du mester?</b><br> go <input type="checkbox" name="ie[]" value="5"><br> ok <input type="checkbox" name="ie[]" value="6"><br> mangler uddannelse <input type="checkbox" name="ie[]" value="7"><br><br> <input type="hidden" name="num" value="<?php echo $num ?>"> <input type="submit" name="Submit" value="Submit"> <input type="reset" name="Reset" value="Reset"> Den smider de forskellige values i tabellen <?php extract($_POST); mysql_connect("***","***","***"); mysql_select_db("***"); $str1 = implode(",",$outlook); $str2 = implode(",",$ie); $insertSQL = "insert into knoxtest (num,outlook, ie) values('$num','$str1', '$str2')" or die(mysql_error()); mysql_db_query("***", $insertSQL); if(isset($num)) { header("Location: index.php?num=$num"); } mysql_close(); ?> problemet er nu at jeg vil hive de forskellige checkboxe ud på en ny side med flueben i dem som er valgt! det fatter jeg vist ik lige hvorn man gør?
Annonceindlæg fra Cognizant
Det kan du ikke. Du skal gemme hver checkbox value i hver sit felt i mysql.
Prøv: <?php $query = "SELECT * FROM knoxtest WHERE num=$num"; $data = mysql_query($query); $overskrifter = Array(e-learning, sidemandsoplæring, klasseundervisning, har ikke fået undervisning, go, ok, mangler uddannelse); $outlook_data = mysql_fetch_array($data); $outlook = explode(",", $outlook_data[1]); $ie = explode(",", $outlook_data[1]); $out = 0; echo "<b>hvordan er oplæringen forgået?</b>"; for($i = 1; $i < 8; $i++) { echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"outlook[]\" value=\"$i\""; if($out == $i) { echo " checked><br />"; $out++; } else { echo "><br>"; } } echo "<b>hvordan er oplæringen forgået?</b>"; $out = 0; for($i = 1; $i < 8; $i++) { echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"ie[]\" value=\"$i\""; if($out == $i) { echo " checked><br />"; $out++; } else { echo "><br>"; } } ?> //sostack
$ie = explode(",", $outlook_data[1]); skal self. være $ie = explode(",", $outlook_data[2]); //sostack
det gir fejl på linie 6: <?php include ('./includes/connect.php'); $query = "SELECT * FROM knoxtest WHERE num=$num"; $data = mysql_query($query); $overskrifter = Array(e-learning, sidemandsoplæring, klasseundervisning, har ikke fået undervisning, go, ok, mangler uddannelse); $outlook_data = mysql_fetch_array($data); $outlook = explode(",", $outlook_data[1]); $ie = explode(",", $outlook_data[1]); $out = 0; echo "<b>hvordan er oplæringen forgået?</b>"; for($i = 1; $i < 8; $i++) { echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"outlook[]\" value=\"$i\""; if($out == $i) { echo " checked><br />"; $out++; } else { echo "><br>"; } } echo "<b>hvordan er oplæringen forgået?</b>"; $out = 0; for($i = 1; $i < 8; $i++) { echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"ie[]\" value=\"$i\""; if($out == $i) { echo " checked><br />"; $out++; } else { echo "><br>"; } } ?> Parse error: parse error, expecting `')'' in /usr/www/knox/komp.php on line 6
har lige rettet $ie = explode(",", $outlook_data[1]); til $ie = explode(",", $outlook_data[2]);
lav en foreach løkke og indsæt dem i hver sine felter, med hvert sit id: noget i den stil: foreach($_POST as key){ $insertSQL = "insert into knoxtest (num,outlook, ie) values('$num','$str1', '$str2')" or die(mysql_error()); mysql_db_query("***", $insertSQL); }
Dooh, havde ikke helt kigget ordentlig i din form. Det kan selvf godt lade sig gøre :D
nu gir den fejl på linie 5!!?
<?php include ('./includes/connect.php'); $query = "SELECT * FROM knoxtest WHERE num=$num"; $data = mysql_query($query); $overskrifter = Array("e-learning", "sidemandsoplæring", "klasseundervisning", "har ikke fået undervisning", "go", "ok", "mangler uddannelse"); $outlook_data = mysql_fetch_array($data); $outlook = explode(",", $outlook_data[1]); $ie = explode(",", $outlook_data[2]); echo "<br><b>hvordan er oplæringen forgået?</b><br>"; for ($i=0; $i<sizeof($overskrifter); $i++) { $id = $i+1; if (in_array("$id", $outlook)) { $checked = "checked"; } else { $checked = ""; } echo "$overskrifter[$i] <input type="checkbox" name="outlook[]" value="$id" $checked><br>"; } echo "<br><b>hvordan er oplæringen forgået?</b><br>"; for ($i=0; $i<sizeof($overskrifter); $i++) { $id = $i+1; if (in_array("$id", $ie)) { $checked = "checked"; } else { $checked = ""; } echo "$overskrifter[$i] <input type="checkbox" name="ie[]" value="$id" $checked><br>"; }
fik sostack's eksempel til ikke at lave fejl, men den returnere intet i checkboxene!? andy -> er det hele scriptet? eller er det en del af det?
andy det virker nu med dit script! :) laver du et svar så deler jeg point imellem jer? takker mange gange for hjælpen.
jes... mangler bare fredag.. :( sostack-> laver du også et svar?
Vi tilbyder markedets bedste kurser inden for webudvikling