Requête SQL inserer plusieurs enregistrements
28 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Requête SQL inserer plusieurs enregistrements
Bonjour, je souhaite pouvoir inserer plusieurs enregistrement dans ma table avec une seule requête voici mon code :
Actuellement j'obtiens ceci :
comment coder pour pouvoir inserer tous ces enregistrement en une seule fois?
Merci de votre aide
- Code: Tout sélectionner
<?
include ('connexion.php');
$ids = @implode(',' , $_POST['commande']) ;
$stock = @implode(',', $_POST['stock']) ;
$qte = @implode(',', $_POST['qte']) ;
$magasin = @implode(',', $_POST['magasin']) ;
$sql = "INSERT INTO lignedecommande ('produit', 'magasin', 'stock', 'qte') VALUES ('$ids','$magasin', '$stock', '$qte')" ;
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo '<center><font color="red" size ="14">Commande transmise avec succès.</center></font>';
?>
Actuellement j'obtiens ceci :
- Code: Tout sélectionner
Erreur SQL !INSERT INTO lignedecommande ('produit', 'magasin', 'stock', 'qte') VALUES ('ABRICOT,AUBERGINE,AVOCAT,BANANE,BREABURN,CANADA PLATEAU 1 RANG,CAROTTE,CERISE,CHANTECLERC PLATEAU 1 RANG,CHOU FLEUR,CHOUX BLANC,CITRON,CONCOMBRE,COURGETTE,ENDIVES SACHET 1KG,ENDIVES VRAC,FENOUIL,GALA PLATEAU IMPORT 3 RANG,GOLDEN PLATEAU 1 RANG,GOLDEN SACHET,GRANY PLATEAU IMPORT 3 RANG,KIWI,LAITUE ICEBERG,MACHE,MANGUE,MELON VERT,MELON CHARENTAIS,MELON GALIA,MELON JAUNE,NASHI,NAVET,NECTARINE,OIGNON BLANC FILET,OIGNON ROUGE FILET,ORANGE FLT,ORANGE VRAC,PACKAMS PLATEAU,PASTEQUE,PECHE,PIMENT VERT,PINK LADY PLATEAU 1 RANG,POIRE CONFERENCE,POIREAU,POIVRON ROUGE,POIVRON VERT,POMELOS,POMME DE TERRE VRAC,PRUNE ROUGE,RAISIN BLANC,RAISIN NOIR RED GLOBE,RED PLATEAU IMPORT 3 RANG,ROUGE SACHET,TOMATE,TOMATE CERISE BARQUETTE,TOMATE COCKTAIL 500G,TOMATE GRAPPE','test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test,test', '1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0', '2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0')
Erreur de syntaxe près de ''produit', 'magasin', 'stock', 'qte') VALUES ('ABRICOT,AUBERGINE' à la ligne 1
comment coder pour pouvoir inserer tous ces enregistrement en une seule fois?
Merci de votre aide
-

BadProcESs - WRInaute accro

- Messages: 2656
- Inscription: Lun Juil 28, 2003 15:58
Le mieux est encore d'ouvrir un recordset editable (avec un transaction), et de faire une boucle pour insérer tes enregistrements.
-

UsagiYojimbo - WRInaute accro

- Messages: 5189
- Inscription: Mer Nov 23, 2005 10:38
Sinon la syntaxe pour faire de l'insert multiple, il me semble que c'est plutôt comme ça :
- Code: Tout sélectionner
INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
En supposant que tes variables soit des tableaux bien en forme & cie (exemple avec juste commande, et stock).
- Code: Tout sélectionner
$ok=0;
$ko=0;
for ($i = 0; $i < sizeof($_POST['commande']); $i++) {
$sql = "INSERT INTO lignedecommande ('produit', 'magasin', 'stock', 'qte') VALUES ('" . $_POST['commande'][$i] . "','$magasin', '" . $_POST['stock'][$i] . "', '$qte')" ;
if (mysql_query($sql))
{
$ok++
} else {
$ko++
}
}
-

UsagiYojimbo - WRInaute accro

- Messages: 5189
- Inscription: Mer Nov 23, 2005 10:38
webac a écrit:C'est exactement ce que j'essaye de reproduire grace aux implode UsagiYojimbo mais apparament ce n'est pas bon si vous avez une autre piste à me fournir j'en seraiqs très heureux.
En fait le souci vient de ton implode.
Toi ce que tu fais c'est plutôt ça au final :
- Code: Tout sélectionner
INSERT INTO table (a,b,c) VALUES ('1,2,3','4,5,6')
Donc normal que ça marche pas.
j'ai bien 56 elements dans mon tableau.
j'obtiens une erreur de syntaxe :
j'obtiens une erreur de syntaxe :
- Code: Tout sélectionner
MySQL a répondu:
#1064 - Erreur de syntaxe pr�s de ''Produit', 'Mag', 'Stock', 'Qte') VALUES ('TOMATE GRAPPE','test'' � la ligne 1
28 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Nouvelle version de GoogleStats : v1.1
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Répartition des clics sur les 10 premiers résultats Google
- Statistiques des requêtes sur les moteurs en 2006
- Google facilite les recherches par site
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- Yahoo France propose des requêtes avec les recherches suggérées
- Le marketing viral au service du référencement
- Suggestions de requêtes dans Google News
- Obtenir le nombre exact de requêtes effectuées sur Google
Qui est en ligne
Utilisateurs parcourant ce forum: Yahoo [Bot] et 0 invités



le forum