mysql - using multiple list menu and checkbox php -
am retrieving data db , allowing users make multiple selection via check box , selecting level each selected check box. when saving, see selected check boxes in db not level selected.
code making selection
include ('mysql_connect.php'); $sql = mysql_query("select * competency department = '$department'"); while($row = mysql_fetch_array($sql)) { echo "<tr>"; echo "<td>"; echo"<input type='checkbox' name='comp[]' value= ".$row['id']." /> ".$row['competency']." <br /> </td>"; echo"<td> <select name='level[]'value= ".$row['id']." > <option></option> <option>level 1</option> <option>level 2</option> <option>level 3</option> <option>level 4</option> <option>level 5</option> </select> </td> "; } echo "</tr>"; ?> <input name="submit" type="submit" value="submit" /> </form> <?php echo" </table>"; ?> .. code saving db
session_start(); $id = $_session['user_id']; $hobb = $_post['comp']; $level = $_post['level']; include ('mysql_connect.php'); $n = count($hobb); for($i=0; $i < $n; $i++) { $var1=$hobb[$i]; $var2 = $level[$i]; //include ('connect.php'); include ('mysql_connect.php'); $table = "insert competency_result (user_id,competency_id,level) ". "values ('$id', '$var1', '$var2')"; mysql_query($table) or die(mysql_error()); $inserted_fid = mysql_insert_id(); mysql_close(); }
set key same comp[] , level[], ie. $row['id'] -
while($row = mysql_fetch_array($sql)) { ...[your code]... echo "<input type='checkbox' name='comp[".$row['id']."]' value= ".$row['id']." /> ".$row['competency']." <br /> </td>"; echo "<td> <select name='level[".$row['id']."]' > ...[your code]... } (note: <select> not have value attribute. defined <option>)
then can corresponding values using
foreach($hobb $key=>$val) { $var1=$hobb[$key]; $var2=$level[$key]; ...[your code]... } (also, looks have <tr> inside loop, </tr> after. assume want move closing tag inside loop close each row)
Comments
Post a Comment