insertion sql en boucle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : insertion sql en boucle

par Invité » 27 oct. 2005, 10:58

oui, résolu.

par zeus » 27 oct. 2005, 10:40

c'est [RESOLU] ?

par Invité » 27 oct. 2005, 10:30

c bo ça...merci.

par Cyrano » 27 oct. 2005, 09:06

Tu pourrais surtout préparer d'abord la requête avec la boucle, une requête unique et ensuite suelement l'exécuter au lieu de faire autnt d'inserion qu'il y a de données, schéma:
<?php
$nb = count($tab);
$sql = "INSERT INTO table VALUES";
for ($i = 0; $i < $nb; $i++) {

    $sql = ($i < ($nb - 1)) ? "('', '". $tab[$i] ."'), " : "('', '". $tab[$i] ."')";
}
mysql_query($sql);
?>
Explications:
-1- d'abord on initialise le début de la requête;
-2- À chaque tour de boucle, on ajoute la paire de valeur (Tu as précisé DEUX champ, or comme tu ne précises pas ces champs avec la table dans lle début de la requête, il faut des valeurs vides là où la valeur sera automatiquement inscrite pas la base elle-même;
-3- Tant qu'on est pas à la dernière valeur, on ajoute une virgule à la fin des valeurs;
-4- on sort de la boucle et seulement à ce moment on exécute l'insertion en UNE SEULE FOIS.

par Xenon_54 » 27 oct. 2005, 04:38

Si tu as un seul champ:
for ($i=0; $i<count($tab); $i++) {

    $sql="INSERT INTO table VALUES('{$tab[$i]}')";
    mysql_query($sql);
} 

insertion sql en boucle

par donatello » 27 oct. 2005, 04:27

Bonjour,
j'essaye d'insérer les données d'un tableau $tab dans mysql avec une boucle.
Ma table contient deux champs:
1-id (auto increment)
2-nom
j'ai fait ceci mais ça ne marche pas:
for ($i=0; $i<count($tab); $i++) {

$sql="INSERT INTO table ('$tab[$i]')";
$result= mysql_query($sql)
}
ou est mon erreur?