| |
Savez-vous bien utiliser les outils de mesure d'audience ? Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ? Savez-vous utiliser les bons outils pour booster votre taux de transformation ? La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions ! ===> Informations et inscriptions.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 8:09 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
Bonjour, je souhaite pouvoir inserer plusieurs enregistrement dans ma table avec une seule requête voici mon code :
| Code: |
<?
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: |
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

Inscrit le: 28 Juil 2003 Messages: 2406 Localisation: Ici ! Voyons ! Où veux-tu que je sois ? ;)
|
Posté le : Mer Mai 21, 2008 8:16 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| Le mieux est encore d'ouvrir un recordset editable (avec un transaction), et de faire une boucle pour insérer tes enregistrements. |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 8:18 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
peux tu m'expliquer plus en détail car je n'ai pas bien saisi ta réponse étant débutant en php j'avoue que je ne comprends pas trop.
Merci |
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1107 Localisation: France - Nantes
|
Posté le : Mer Mai 21, 2008 8:19 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| webac> Tu mets tes variables dans des tableaux. Tu fais une boucle et à chaque passage de la boucle tu créé un enregistrement dans la base de données. |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 8:21 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| un p'tit bout de code peut être pour me mettre sur la piste? |
|
| |
|
 |
UsagiYojimbo WRInaute accro

Inscrit le: 23 Nov 2005 Messages: 2460 Localisation: Lyon, capitale des Gaules
|
Posté le : Mer Mai 21, 2008 8:25 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
Sinon la syntaxe pour faire de l'insert multiple, il me semble que c'est plutôt comme ça :
| Code: |
INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
|
|
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 8:38 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| 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. |
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1107 Localisation: France - Nantes
|
Posté le : Mer Mai 21, 2008 8:48 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
En supposant que tes variables soit des tableaux bien en forme & cie (exemple avec juste commande, et stock).
| Code: |
$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

Inscrit le: 23 Nov 2005 Messages: 2460 Localisation: Lyon, capitale des Gaules
|
Posté le : Mer Mai 21, 2008 8:50 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| 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: |
INSERT INTO table (a,b,c) VALUES ('1,2,3','4,5,6')
|
Donc normal que ça marche pas. |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 9:00 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| ok merci à tous je vais essayer de me débrouiller avec tous ces bons conseils. |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 10:11 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| pouvez vous me donner un petit coup de main j'ai testé ton code Bacteries mais ça ne fonctionne pas quand je fais un echo de $ok j'obtiens 0 et quand je fais un echo $ko j'obtiens 56. |
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1107 Localisation: France - Nantes
|
Posté le : Mer Mai 21, 2008 10:15 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
Tu as bien 56 élément dans ton tableau?
Fais des écho de ta requête et teste là sous phpmyadmin voir l'erreur SQL. |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 10:20 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
j'ai bien 56 elements dans mon tableau.
j'obtiens une erreur de syntaxe :
| Code: |
MySQL a répondu:
#1064 - Erreur de syntaxe pr�s de ''Produit', 'Mag', 'Stock', 'Qte') VALUES ('TOMATE GRAPPE','test'' � la ligne 1 |
|
|
| |
|
 |
Bacteries WRInaute accro

Inscrit le: 27 Mai 2004 Messages: 1107 Localisation: France - Nantes
|
Posté le : Mer Mai 21, 2008 10:32 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
| Enlève les ' dans la liste des colonnes. Ou mets y des antiquote ( ` ) à la place. |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Mer Mai 21, 2008 10:34 Sujet du message: Requête SQL inserer plusieurs enregistrements |
|
|
Merci Bacteries ça fonctionne impec!
et merci également a tous les autres et a WRI biensur! |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|