Je suis fraîche à Codeigniter. J'ai un formulaire qui ressemble à ceci.Codeigniter Insérer plusieurs lignes dans 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>
Il peut y avoir de 0 à n rangées, habituellement de 5 à 10 rangées. Comment puis-je les insérer dans SQL? Est-ce possible avec Codeigniter ou dois-je utiliser un script PHP natif?
$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);
}
Je l'ai fait. Ça marche. Mais la solution semble inélégante.
La réponse de kevtrout est meilleure mais génère actuellement beaucoup d'erreurs.
Est-il possible d'insérer toutes les données en même temps?
Voir ma solution http: //stackoverflow.com/a/14332078/1045444 ... Vous avez accepté la solution la plus efficace qui ne ... Nous devrions utiliser insert_batch(); –
@SomnathMuluk Vous avez raison. S'il vous plaît voir la question liée que je ai demandé plus tard http://stackoverflow.com/questions/4166146/codeigniter-inserting-multidimensional-array-as-rows-in-mysql?lq=1 –