Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4283 connectés 

 


Dernière réponse
Sujet : [ PHP / MySQL ] INSERT multiple
xmulder précision, fo pas oublier de NE PAS mettre les parenthèses  :D  
 
la requete doit etre de la forme:
"INSERT INTO TA_TABLE (COLONNE_1, COLONNE_2,...) VALUES (ligne1), (ligne2), ..., (lignen)"
 
et non pas  
"INSERT INTO TA_TABLE (COLONNE_1, COLONNE_2,...) VALUES ((ligne1), (ligne2), ..., (lignen))"
 
voilà. :hello:

 

[edtdd]--Message édité par xmulder--[/edtdd]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
xmulder précision, fo pas oublier de NE PAS mettre les parenthèses  :D  
 
la requete doit etre de la forme:
"INSERT INTO TA_TABLE (COLONNE_1, COLONNE_2,...) VALUES (ligne1), (ligne2), ..., (lignen)"
 
et non pas  
"INSERT INTO TA_TABLE (COLONNE_1, COLONNE_2,...) VALUES ((ligne1), (ligne2), ..., (lignen))"
 
voilà. :hello:

 

[edtdd]--Message édité par xmulder--[/edtdd]

Mara's dad Presque...
Faut pas oublier les () !
 
$query= "INSERT TA_TABLE (COLONNE_1, COLONNE_2,...) VALUES (";  
 
for($i=0;$i<$nb_ligne;$i++)  
{  
  if($i>0)  
    $query.=" ), (";  
  $query.= implode(",", $tab[$i]);  
}  
$query.=" )
 
...
 
Pour $tab[ligne,colonne], implode(",", $tab[$i]) retourne tous les éléments de $tab[$i] (donc les colonnes) séparés par des virgules)
Avec http://www.php.net/manual/fr/function.array-walk.php, y'a même moyen de pas avoir de boucle for ! Trop fort non ;-)
 
Puis, les noms des colonnes, elles sont peut-être dans un tableaux ? ? ?, ou on peut les lire dans la structure de la table ...

 

[edtdd]--Message édité par Mara's dad--[/edtdd]

xmulder

Mara's dad a écrit a écrit :

INSERT TA_TABLE (COLONNE_1, COLONNE_2,...)
  VALUES (Valeur_1,Valeur_2,...),
         (Valeur_1,Valeur_2,...),
         (Valeur_1,Valeur_2,...),
          ...
         (Valeur_1,Valeur_2,...)
 
Il te reste juste à générer les (Valeur_1,Valeur_2,...), ce qui ne doit pas être trop difficile avec un implode() sur ton tableau...  




 
ok, le implode() je vois pas trop comment ca marche alors je v essayer un truc du genre:
 
$query= "INSERT TA_TABLE (COLONNE_1, COLONNE_2,...)
  VALUES ";
 
for($i=0;$i<$nb_ligne;$i++)
{
   if($i>0)
      $query.=",";
   $query.= "($tab1[$i], $tab2[$i], ...)";
}
 
g bon? :)

Mara's dad INSERT TA_TABLE (COLONNE_1, COLONNE_2,...)
  VALUES (Valeur_1,Valeur_2,...),
         (Valeur_1,Valeur_2,...),
         (Valeur_1,Valeur_2,...),
          ...
         (Valeur_1,Valeur_2,...)
 
Il te reste juste à générer les (Valeur_1,Valeur_2,...), ce qui ne doit pas être trop difficile avec un implode() sur ton tableau...
xmulder Est-il possible d'insérer les données d'un tableau (X dimensions) ou de X tableaux ("uni-dimensionnel" ) dans une table ac une requete INSERT multiple
 
parcq faire une boucle pour ajouter les lignes une par une me parait long et pas très heureux.
 
j'espère q c compréhensible...
 
Merci.
 
FFX.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)