requête sql help!!
11 messages
• Page 1 sur 1
-

webac - WRInaute occasionnel

- Messages: 373
- Inscription: 4 Mar 2005
requête sql help!!
Bonjour,
cela va faire plus de deux semaines que je stagne sur la même requête et je ne m'en sort pas.
voici mon code :
Page du formulaire :
Page de traitement du formulaire :
cette requête ne fonctionne pas biensur c'est la raison pour laquelle je poste ce message.
si vous pouvez me fournir la bonne requête j'avoue que cela me soulagerais énormément.
Merci d'avance.
cela va faire plus de deux semaines que je stagne sur la même requête et je ne m'en sort pas.
voici mon code :
Page du formulaire :
- Code: Tout sélectionner
<script language="javascript">
<!--
function create_champ(i)
{
var i2 = i + 1;
document.getElementById('input_'+i).innerHTML = '<div id="champs_'+i+'">Fournisseur : <input type="text" name="fournisseur[]"size="5"> Marque du Produit : <input name="marque[]" type="text" size="5"/> Référence : <input type="text" name="ref[]"size="5"> N° Facture/BL : <input type="text" name="fact[]"size="5"> N° de serie : <input type="text" name="ser[]"size="5"> Panne constatée : <input type="text" name="typepanne[]"size="5"></div></span>';
document.getElementById('input_'+i).innerHTML += (i <= 10000) ? '<span id="input_'+i2+'"><input class="input2" type="button" onClick="javascript:create_champ('+i2+')" value="Nouvelle ligne"></span>' : '';
}
-->
</script>
</head>
<body>
<form action="input2.php" method="post" name="toto">
<div id="champs_1">
<div align="left"> Fournisseur :
<input name="fournisseur[]" type="text" id="fournisseur" size="5"/>
Marque du Produit :
<input name="marque[]" type="text" id="marque" size="5"/>
Référence :
<input name="ref[]" type="text" id="ref" size="5"/>
N° Facture/BL :
<input name="fact[]" type="text" id="fact" size="5"/>
N° de serie :
<input name="ser[]" type="text" id="ser" size="5"/>
Panne constatée :
<input name="typepanne[]" type="text" id="typepanne" size="5"/>
</div>
</div>
<div align="left"> <span id="input_2">
<input name="button" type="button" class="input2" onClick="javascript:create_champ(2)" value="Nouvelle ligne">
</span>
<input name="Envoyer" type="submit" value="Envoyer" id="Envoyer">
</div>
</form>
Page de traitement du formulaire :
- Code: Tout sélectionner
<?
$fournisseur = implode(', ', $_POST['fournisseur']) ;
$marque = implode(', ', $_POST['marque']) ;
$ref = implode(', ', $_POST['ref']) ;
$fact = implode(', ', $_POST['fact']) ;
$ser = implode(', ', $_POST['ser']) ;
$typepanne = implode(', ', $_POST['typepanne']) ;
$sql="INSERT INTO rma (`fournisseur`, `marque`, `ref`, `facture`, `serie`, `typepanne`) VALUES($fournisseur, $marque, $ref, $fact ,$ser, $typepanne)";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
?>
cette requête ne fonctionne pas biensur c'est la raison pour laquelle je poste ce message.
si vous pouvez me fournir la bonne requête j'avoue que cela me soulagerais énormément.
Merci d'avance.
-

biddybulle - WRInaute passionné

- Messages: 1602
- Inscription: 30 Mai 2005
Bon je l'écrirais comme cela
J'ajouterais un Addslashes sur les variables qui ont une quote car des fois ca n'aime pas trop.
$sql="INSERT INTO rma (fournisseur, marque, ref, facture, serie, typepanne) VALUES('".$fournisseur."', '".$marque."', '".$ref."', '".$fact."' ,'".$ser."', '".$typepanne."')";
Tu peux faire un echo de $sql avec une donnée que tu tentes d'insérer
J'ajouterais un Addslashes sur les variables qui ont une quote car des fois ca n'aime pas trop.
$sql="INSERT INTO rma (fournisseur, marque, ref, facture, serie, typepanne) VALUES('".$fournisseur."', '".$marque."', '".$ref."', '".$fact."' ,'".$ser."', '".$typepanne."')";
Tu peux faire un echo de $sql avec une donnée que tu tentes d'insérer
-

webac - WRInaute occasionnel

- Messages: 373
- Inscription: 4 Mar 2005
YoyoS
L'erreur que j'obtiens c'est :
biddybulle
Ta requête fonctionne mais les données s'inserent dans un seul enregistrement!
fournisseur marque ref facture serie typepanne
champ1ligne1, champs1ligbe2 champs2ligne1, champs2ligne2 etc...
L'erreur que j'obtiens c'est :
- Code: Tout sélectionner
Column count doesn't match value count at row 1
biddybulle
Ta requête fonctionne mais les données s'inserent dans un seul enregistrement!
fournisseur marque ref facture serie typepanne
champ1ligne1, champs1ligbe2 champs2ligne1, champs2ligne2 etc...
Dernière édition par webac le Mer Jan 30, 2008 23:41, édité 1 fois.
-

biddybulle - WRInaute passionné

- Messages: 1602
- Inscription: 30 Mai 2005
Insert into n'ajoute en effet qu'un enregistrement dans une table non ?
-

UsagiYojimbo - WRInaute accro

- Messages: 8303
- Inscription: 23 Nov 2005
biddybulle a écrit:Insert into n'ajoute en effet qu'un enregistrement dans une table non ?
Me semble bien aussi.
-

UsagiYojimbo - WRInaute accro

- Messages: 8303
- Inscription: 23 Nov 2005
webac a écrit:dans ce cas comment faire pour inserer plusieurs enregistrements dans la meme requete?
A priori comme ceci :
- Code: Tout sélectionner
mysql> INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
CF : http://dev.mysql.com/doc/refman/5.0/fr/insert.html
-

liilo - Nouveau WRInaute

- Messages: 16
- Inscription: 11 Sep 2007
ta requête n'est pas bonne:
tu as écris
il manque des quotes !!!
les quotes sont facultatives SAUF dans le cas du texte, je ne connais pas la nature de tes champs mais si c'est du texte, date, ... tu mets des quotes; si c'est du numéric pas besoin...
voilà en espèrant t'avoir aidé
tu as écris
$sql="INSERT INTO rma (`fournisseur`, `marque`, `ref`, `facture`, `serie`, `typepanne`) VALUES($fournisseur, $marque, $ref, $fact ,$ser, $typepanne)";
il manque des quotes !!!
- Code: Tout sélectionner
$sql="INSERT INTO rma (`fournisseur`, `marque`, `ref`, `facture`, `serie`, `typepanne`) VALUES ('".$fournisseur."', '".$marque."', '".$ref."', '".$fact."' ,'".$ser."', '".$typepanne."')";
les quotes sont facultatives SAUF dans le cas du texte, je ne connais pas la nature de tes champs mais si c'est du texte, date, ... tu mets des quotes; si c'est du numéric pas besoin...
voilà en espèrant t'avoir aidé
11 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google API : guide de développement de l'API Google - 20-09-2002
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006 - 11-08-2006
- Informations sur l'infrastructure technique de Google - 01-11-2004
- Google indexe le Flash - 28-04-2004
- + de résultats pour un même site sur Google - 23-08-2010
- Yagoort : Yet Another Google Rank Test - 24-03-2005
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
