Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

requête sql help!!

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 304
Localisation: Ile de France

URL permanente de ce messagePosté le : Mer Jan 30, 2008 23:32    Sujet du message: 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 :

Code:
<script language="javascript">
<!--
function create_champ(i)
{
var i2 = i + 1;

document.getElementById('input_'+i).innerHTML = '<div id="champs_'+i+'">Fournisseur :&nbsp;&nbsp;<input type="text" name="fournisseur[]"size="5"> Marque du Produit : <input name="marque[]" type="text" size="5"/> Référence :&nbsp;<input type="text" name="ref[]"size="5"> N° Facture/BL :&nbsp;<input type="text" name="fact[]"size="5"> N° de serie :&nbsp;<input type="text" name="ser[]"size="5"> Panne constatée :&nbsp;<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 :&nbsp;
      <input name="fournisseur[]" type="text" id="fournisseur" size="5"/>
      Marque du Produit :
      <input name="marque[]" type="text" id="marque" size="5"/>
    R&eacute;f&eacute;rence :
    <input name="ref[]" type="text" id="ref" size="5"/>
    N&deg; Facture/BL :
    <input name="fact[]" type="text" id="fact" size="5"/>
    N&deg; de serie :
    <input name="ser[]" type="text" id="ser" size="5"/>
     Panne constat&eacute;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:
<?
$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.
 
webac Visiter le site web du posteur
YoyoS
WRInaute accro
WRInaute accro

Inscrit le: 14 Sep 2006
Messages: 2199

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 0:23    Sujet du message: requête sql help!!

Et l'erreur c'est quoi ?
 
YoyoS Visiter le site web du posteur
biddybulle
WRInaute accro
WRInaute accro

Inscrit le: 30 Mai 2005
Messages: 1346

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 0:25    Sujet du message: requête sql help!!

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
 
biddybulle Visiter le site web du posteur
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 304
Localisation: Ile de France

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 0:33    Sujet du message: requête sql help!!

YoyoS
L'erreur que j'obtiens c'est :

Code:
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 Jeu Jan 31, 2008 0:41; édité 1 fois
 
webac Visiter le site web du posteur
biddybulle
WRInaute accro
WRInaute accro

Inscrit le: 30 Mai 2005
Messages: 1346

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 0:38    Sujet du message: requête sql help!!

rajoute l'id comme indiqué ici

http://htmlfixit.com/cgi-tutes/tutorial_MySQL_Error_Invalid_Query_Column_Count_D...
 
biddybulle Visiter le site web du posteur
biddybulle
WRInaute accro
WRInaute accro

Inscrit le: 30 Mai 2005
Messages: 1346

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 0:40    Sujet du message: requête sql help!!

Insert into n'ajoute en effet qu'un enregistrement dans une table non ?
 
biddybulle Visiter le site web du posteur
UsagiYojimbo
WRInaute accro
WRInaute accro

Inscrit le: 23 Nov 2005
Messages: 2262
Localisation: Lyon, capitale des Gaules

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 0:54    Sujet du message: requête sql help!!

biddybulle a écrit:
Insert into n'ajoute en effet qu'un enregistrement dans une table non ?


Me semble bien aussi.
 
UsagiYojimbo Visiter le site web du posteur
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 304
Localisation: Ile de France

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 0:55    Sujet du message: requête sql help!!

dans ce cas comment faire pour inserer plusieurs enregistrements dans la meme requete?

exemple : INSERT INTO t1 (v1,v2,v3) VALUES (1,2,3),(4,4,4),(5,1,10);
 
webac Visiter le site web du posteur
UsagiYojimbo
WRInaute accro
WRInaute accro

Inscrit le: 23 Nov 2005
Messages: 2262
Localisation: Lyon, capitale des Gaules

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 1:01    Sujet du message: requête sql help!!

webac a écrit:
dans ce cas comment faire pour inserer plusieurs enregistrements dans la meme requete?


A priori comme ceci :

Code:

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
 
UsagiYojimbo Visiter le site web du posteur
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 304
Localisation: Ile de France

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 10:07    Sujet du message: requête sql help!!

n'y a t-il pas moyen de faire une boucle pour inserer un enregistrement par ligne?
 
webac Visiter le site web du posteur
liilo
Nouveau WRInaute

Inscrit le: 11 Sep 2007
Messages: 16
Localisation: Paris

URL permanente de ce messagePosté le : Jeu Jan 31, 2008 15:21    Sujet du message: requête sql help!!

ta requête n'est pas bonne:

tu as écris
Citation:
$sql="INSERT INTO rma (`fournisseur`, `marque`, `ref`, `facture`, `serie`, `typepanne`) VALUES($fournisseur, $marque, $ref, $fact ,$ser, $typepanne)";


il manque des quotes !!!

Code:
$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é
 
liilo Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Autres sujets de discussion :

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort