Inserting multiple rows in to multiple columns |
[eluser]itz4mesays[/eluser]
I am a newbie to codeigniter and I am trying to insert multiple rows into multiple columns and it triggers an error each time i tried to do the insertion. Below are the codes and errors it's shows: $course_code=$this->input->post('course_code'); $course_title=$this->input->post('course_title'); $course_unit=$this->input->post('course_unit'); $course_status=$this->input->post('course_status'); $level=$this->input->post('level'); $semester=$this->input->post('semester'); $count = count($this->input->post('course_code')); $data =array(); for($i=0; $i<$count; $i++) { $data[$i] = array( 'course_code' => $course_code[$i], 'course_title' => $course_title[$i], 'course_unit' => $course_unit[$i], 'course_status' => $course_status[$i], 'level' => $level[$i], 'semester' => $semester[$i] ); } $this->db->insert_batch('tbl_courses', $data); //return TRUE; } And i have six fields in the database. Error Number: 1048 Column 'course_code' cannot be null INSERT INTO tbl_courses (course_code, course_status, course_title, course_unit, level, semester) VALUES (NULL,NULL,NULL,NULL,NULL,NULL) Filename: C:\wamp\www\ASIMS\system\database\DB_driver.php Line Number: 330 Please i need help asap. Thanks
[eluser]xeroblast[/eluser]
your answer lies here : http://ellislab.com/codeigniter/user-gui...tml#insert
[eluser]itz4mesays[/eluser]
That's why i said i am new to codeigniter, I really need up. I tried this (below) but it worked. But i still want to be able to make sure if any is left blank, it should not show in the database. it's inserting quite alright but if i fill only two out it, the rest which are blank will still show in the database and i don't know how to avoid that.Please, your help will be highly appreciated. //Model function insert_courses(){ foreach($_POST['user'] as $user) { $this->db->insert('tbl_courses', $user); // $this->db->insert('mytable', $user); } return TRUE; } Here is my view <?php echo form_open('courses/add_courses');?> <table border="1" cellspacing="0"> <tr> <th>Course Code</th> <th>Course Title</th> <th>Course Unit</th> <th>Course Status</th> <th>Level</th> <th>Semester</th> </tr> <tr> <td><input type="text" name="user[0][course_code]" value=""></td> <td><input type="text" name="user[0][course_title]" value=""><br></td> <td> <select name="user[0][course_unit]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="6">6</option> </select> </td> <td> <select name="user[0][course_status]"> <option value="E">Elective</option> <option value="C">Core</option> </select> </td> <td> <select name="user[0][level]"> <option value="100">100</option> <option value="200">200</option> <option value="300">300</option> <option value="400">400</option> <option value="500">500</option> <option value="600">600</option> </select> </td> <td> <select name="user[0][semester]"> <option value="First Semester">1st</option> <option value="Second Semester">2nd</option> </select> </td> </tr> <tr> <td><input type="text" name="user[1][course_code]" value=""></td> <td><input type="text" name="user[1][course_title]" value=""><br></td> <td> <select name="user[1][course_unit]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="6">6</option> </select> </td> <td> <select name="user[1][course_status]"> <option value="E">Elective</option> <option value="C">Core</option> </select> </td> <td> <select name="user[1][level]"> <option value="100">100</option> <option value="200">200</option> <option value="300">300</option> <option value="400">400</option> <option value="500">500</option> <option value="600">600</option> </select> </td> <td> <select name="user[1][semester]"> <option value="First Semester">1st</option> <option value="Second Semester">2nd</option> </select> </td> </tr> <tr> <td><input type="text" name="user[2][course_code]" value=""></td> <td><input type="text" name="user[2][course_title]" value=""><br></td> <td> <select name="user[2][course_unit]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="6">6</option> </select> </td> <td> <select name="user[2][course_status]"> <option value="E">Elective</option> <option value="C">Core</option> </select> </td> <td> <select name="user[2][level]"> <option value="100">100</option> <option value="200">200</option> <option value="300">300</option> <option value="400">400</option> <option value="500">500</option> <option value="600">600</option> </select> </td> <td> <select name="user[2][semester]"> <option value="First Semester">1st</option> <option value="Second Semester">2nd</option> </select> </td> </tr> <tr> <td><input type="text" name="user[3][course_code]" value=""></td> <td><input type="text" name="user[3][course_title]" value=""><br></td> <td> <select name="user[3][course_unit]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="6">6</option> </select> </td> <td> <select name="user[3][course_status]"> <option value="E">Elective</option> <option value="C">Core</option> </select> </td> <td> <select name="user[3][level]"> <option value="100">100</option> <option value="200">200</option> <option value="300">300</option> <option value="400">400</option> <option value="500">500</option> <option value="600">600</option> </select> </td> <td> <select name="user[3][semester]"> <option value="First Semester">1st</option> <option value="Second Semester">2nd</option> </select> </td> </tr> <?php echo form_close();?>
[eluser]xeroblast[/eluser]
why not just do this in your model? Code: function insert_entry( $code, $title, $unit, $status, $level, $semester ) { so that your controller is just sending your data to be inserted Code: $this->your_model->insert_entry( $this->input->post(‘course_code’), $this->input->post(‘course_title’), $this->input->post(‘course_unit’), $this->input->post(‘course_status’), $this->input->post(‘level’), $this->input->post(‘semester’) );
[eluser]itz4mesays[/eluser]
@xeroblast, i really appreciate your support and time. i bet you are the only one that can actually help me solve this right now. if i try to insert like three from like five of those forms i provided on my view with the code, i get this error: A Database Error Occurred Error Number: 1048 Column 'course_code' cannot be null INSERT INTO `tbl_courses` (`course_code`, `course_title`, `course_unit`, `course_status`, `level`, `semester`) VALUES (NULL, NULL, NULL, NULL, NULL, NULL) Filename: C:\wamp\www\ASIMS\system\database\DB_driver.php Line Number: 330 Meanwhile, it has already been inserted with other remaining two blank rows. Do you know why i keep getting these errors? I really appreciate your time
[eluser]itz4mesays[/eluser]
for better understandin @xeroblast. See the schema of the db below id course_code course_title course_unit course_status level semester 31 MTH101 Elementary of Set Theory 2 C 100 First Semester 32 MTH103 Trigonometry 1 C 100 First Semester 33 MTH105 Coordinate Geometry 1 C 100 First Semester 34 STA101 Introduction to Statistic 2 C 100 First Semester 35 PHY101 Mechanics and Properties 3 C 100 First Semester 36 1 E 100 First Semester 37 1 E 100 First Semester 38 1 E 100 First Semester 39 1 E 100 First Semester 40 1 E 100 First Semester The remaining five were blank from the form and i don't want it to be inserted alongside with it ones i provided in the form. These are the two things are i want you to help me out for. Thanks @xeroblast
[eluser]xeroblast[/eluser]
you are getting that error because the data of your form was not pass to your controller properly. before processing it. why not check if the values have pass properly Code: //controler |
Welcome Guest, Not a member yet? Register Sign In |