Tôi mới làm quen với Codeigniter. Tôi có một hình thức trông giống như thế này.Codeigniter Chèn nhiều hàng trong SQL
<tr>
<td><input type="text" name="Name[0]" value=""></td>
<td><input type="text" name="Address[0]" value=""><br></td>
<td><input type="text" name="Age[0]" value=""></td>
<td><input type="text" name="Email[0]" value=""></td>
</tr>
<tr>
<td><input type="text" name="Name[1]" value=""></td>
<td><input type="text" name="Address[1]" value=""><br></td>
<td><input type="text" name="Age[1]" value=""></td>
<td><input type="text" name="Email[1]" value=""></td>
</tr>
Có thể có từ 0 đến n hàng, thường từ 5 đến 10 dòng. Làm cách nào để chèn chúng vào SQL? Điều này có thể với Codeigniter hay tôi nên sử dụng một tập lệnh PHP gốc?
$name=$_POST['Name'];
$address=$_POST['Address'];
$age=$_POST['Age'];
$email=$_POST['Email'];
$count = count($_POST['Name']);
for($i=0; $i<$count; $i++) {
$data = array(
'name' => $name[$i],
'address' => $address[$i],
'age' => $age[$i],
'email' => $email[$i],
);
$this->db->insert('mytable', $data);
}
Tôi đã làm điều này. Nó hoạt động. Nhưng giải pháp có vẻ không phù hợp.
câu trả lời của kevtrout có vẻ tốt hơn nhưng hiện đang ném rất nhiều lỗi.
Có cách nào để chèn tất cả dữ liệu cùng một lúc không?
Xem giải pháp của tôi http: //stackoverflow.com/a/14332078/1045444 ... Bạn đã chấp nhận giải pháp không hiệu quả nhất ... Chúng tôi nên sử dụng insert_batch(); –
@SomnathMuluk Bạn đúng. Vui lòng xem câu hỏi được liên kết mà tôi đã hỏi sau này http://stackoverflow.com/questions/4166146/codeigniter-inserting-multidimensional-array-as-rows-in-mysql?lq=1 –