php array filter data insertion to mysql -


i had prepared below form, need data insert mysql through form problem when try insert array_filter gives problem. need selected box values data mysql.

example: when user selected select box 1st row , 5th row these 2 rows should insert mysql, instead of 5 rows inserting empty values remain data inserting. please help

<form action="array-act.php" method="post"> <table width="500" border="0"> <tr> <td><input name="name[]" value="one" type="text" /></td> <td><input name="marks[]" type="text" /></td> <td><input name="grade[]" type="text" /></td> <td><select name="first[]"><option value="">select</option><option value="sm">sm</option><option value="qb">qb</option></select></td> </tr> <tr> <td><input name="name[]"  value="two" type="text" /></td> <td><input name="marks[]" type="text" /></td> <td><input name="grade[]" type="text" /></td> <td><select name="first[]"><option value="">select</option><option value="sm">sm</option><option value="qb">qb</option></select></td> </tr> <tr> <td><input name="name[]" value="three" type="text" /></td> <td><input name="marks[]" type="text" /></td> <td><input name="grade[]" type="text" /></td> <td><select name="first[]"><option value="">select</option><option value="sm">sm</option><option value="qb">qb</option></select></td> </tr> <tr> <td><input name="name[]" value="four" type="text" /></td> <td><input name="marks[]" type="text" /></td> <td><input name="grade[]" type="text" /></td> <td><select name="first[]"><option value="">select</option><option value="sm">sm</option><option value="qb">qb</option></select></td> </tr> <tr> <td><input name="name[]" value="five" type="text" /></td> <td><input name="marks[]" type="text" /></td> <td><input name="grade[]" type="text" /></td> <td><select name="first[]"><option value="">select</option><option value="sm">sm</option><option value="qb">qb</option></select></td> </tr> </table> <input name="go" type="submit" /> </form> <?php $name = $_post['name']; $marks = $_post['marks']; $grade = $_post['grade']; $option = array_values(array_filter($_post['first']));   $n = count($option); ($i = 0; $i < $n; $i++)  { $query = "insert `table` (`name`, `marks`, `grade`, `option`)  values ('$name[$i]', '$marks[$i]', '$grade[$i]', '$option[$i]')";  // here must execute query $result = mysql_query($query) or die('failed connect server: ' . mysql_error()); } if($result) { echo "data  inserted"; } else { echo "data not inserted"; } ?> 

i think should give numbers name attribute of elements of each row

<td><input name="name[1]" value="one" type="text" /></td> <td><input name="marks[1]" type="text" /></td> <td><input name="grade[1]" type="text" /></td> <td><select name="first[1]"><option value="">select</option><option value="sm">sm</option><option value="qb">qb</option></select></td> 

and on.

that solve problem. right each option list has same name, 1 should returned.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -