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

Insertion de plusieurs lignes dans un tableau avec PHP

MySQL peut insérer plusieurs lignes dans une seule requête. J'ai laissé votre code aussi proche que possible de l'original. Gardez à l'esprit que si vous avez beaucoup de données, cela pourrait créer une grande requête qui pourrait être plus grande que ce que MySQL acceptera.

include_once 'include.php';

$parts = array();    
foreach($_POST['vsr'] as $row=>$vsr) {
   $vsr=mysql_real_escape_string($vsr);
   $ofice=mysql_real_escape_string($_POST['ofice'][$row]);
   $date=mysql_real_escape_string($_POST['date'][$row]);
   $type=mysql_real_escape_string($_POST['type'][$row]);
   $qty=mysql_real_escape_string($_POST['qty'][$row]);
   $uprice=mysql_real_escape_string($_POST['uprice'][$row]);
   $tprice=mysql_real_escape_string($_POST['tprice'][$row]);

   $parts[] = "('$vsr','$ofice','$date','$type','$qty','$uprice','$tprice')";
}

$sql = "INSERT INTO maint_track (`vsr`, `ofice`, `date`, `type`, `qty`, `uprice`,
`tprice`) VALUES " . implode(', ', $parts);

$result = mysql_query($sql, $con);