Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment insérer plusieurs tableaux dans la base de données en utilisant PHP

J'ai modifié votre code pour le faire fonctionner :

formulaire.php

<form method="POST" action="form.php">
<input type="text" name="waw" />
<input type="submit" />
</form>

<form method="POST" action="input.php">
<?php 
$i=0;

while ($i<$_GET['waw'])
{
?>

<!-- Person #1 -->

<input type="text" name="username[]" />

<input type="text" name="phonenum[]" />

<input type="text" name="add[]" /><br />


<?php 
$i++;
}
?>
<input type="submit" />
</form>

entrée.php

<?php


$username="maizakath";
$password="12345";
$database="tryinsert";
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die("<b>Unable to specified database</b>");



$sql_start = 'INSERT INTO `mytable` VALUES '; 
$sql_array = array(); 
$queue_num = $_POST['waw']; 
foreach ($_POST['username'] as $row=>$name)
{
$username = $name;
$phonenum = $_POST['phonenum'][$row];
$add = $_POST['add'][$row];
$sql_array[] = '("' . $username . '", "'.$phonenum.'", "'.$add.'")'; 
if (count($sql_array) >= $queue_num) {
  $query_single=$sql_start . implode(', ', $sql_array);
  mysql_query($query_single); 
  $sql_array = array(); 
}
}

if (count($sql_array) > 0)  {
  $query = $sql_start . implode(', ', $sql_array);
  mysql_query($query)or die(mysql_error());
}

?>

Ça fonctionne bien. Je viens de le tester sur ma machine locale.

MODIFIER (Commentaires) :

  1. L'utilisation de la variable $queue_num dans input.php n'a pas de sens, car cette variable n'est disponible que dans le script form.php (entrée 'wow' placée dans un autre formulaire, qui est soumise au fichier form.php, pas input.php). Donc if (count($sql_array) >= $queue_num) le bloc fonctionne mal ;

  2. Vérifiez vos paramètres de configuration pour la connexion à la base de données (comme je l'ai écrit dans un commentaire, vous devez définir une constante avec le nom "localhost" ou placer le mot localhost entre guillemets) ;

  3. J'ai modifié votre formulaire, car sa structure était incorrecte ;

  4. Je n'ai pas compris l'objectif de créer un premier formulaire dans form.php.

Vous pouvez modifier ce code pour le rendre plus approprié à votre cas. Mais essayez d'abord d'utiliser celui-ci.

Remarque. Utilisez var_dump() pour voir votre tableau $_POST pendant le débogage pour comprendre quelles variables sont disponibles.