I had table named as subject
.I had columns id
(PK), subject_name
, total_class
, attendence
, and cnic
(FK). My user fills the form and submitted it. I got values via post method of form. In form I had 6 subjects and for every subject I have total_class
, attendence
, subject_name
. Here is my code
if($_SERVER['REQUEST_METHOD']=='POST')
{
$form=$_POST[form'];
$s1=$_POST['sub1'];
$s1=$_POST['sub2'];
$s1=$_POST['sub3'];
$s1=$_POST['sub4'];
$s1=$_POST['sub5'];
$s1=$_POST['sub6'];
$month=$_POST['month'];
$total_attend_1=$_POST['Ts1'];
$total_attend_2=$_POST['Ts2'];
$total_attend_3=$_POST['Ts3'];
$total_attend_4=$_POST['Ts4'];
$total_attend_5=$_POST['Ts5'];
$total_attend_6=$_POST['Ts6'];
$attend_1=$_POST['Attend_s1'];
$attend_2=$_POST['Attend_s2'];
$attend_3=$_POST['Attend_s3'];
$attend_4=$_POST['Attend_s4'];
$attend_5=$_POST['Attend_s5'];
$attend_6=$_POST['Attend_s6'];
$query=mysql_query("INSERT INTO subject VALUE( '','$s1','total_attend_1','$attend_1','$form','$month')") or die(mysql_error());
/*My query should be here.Should I write 6 insert queries?*/
I had tried it by using
foreach($array as $attendee){
}
but didn't got my task? Can someone please help me?
I guess you want something like this:
function x($str) {return mysql_real_escape_string($str);} // shorter function name
$rows = Array();
for( $i=1; $i<=6; $i++) {
$rows[] = "(null,'".x($_POST['sub'.$i])."','".x($_POST['Ts'.$i])."','".x($_POST['Attend_s'.$i])."','".x($form)."','".x($_POST['month'])."')";
}
mysql_query("insert into `subject` values ".implode(",",$rows));
Remove all the variable assignments, and make sure you define $form
somewhere - I don't see it in the code you posted.
The correct insert syntax is
insert into subject values (sub1, ts1, attend_s1);
or with multiple values
insert into subject values (sub1, ts1, attend_s1), (sub2, ts2, attend_s2), (...);
// $post = a sanitized copy of $_POST
$entries = array( );
for ($i = 1; $i <= 6; ++$i) {
$entries[] = " (NULL, '{$post['sub'.$i]}', '{$post['Ts'.$i]}', '{$post['Attend_s'.$i]}', '{$form}', '{$post['month']}') ";
}
$query = " INSERT INTO `subject` VALUES ".implode(', ', $entries);