Probleme requete d'insertion

Signaler
Messages postés
111
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
4 mars 2004
-
Messages postés
111
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
4 mars 2004
-
kikou!!

j'ai un problème avec une requete d'insertion que voici:

$requete = "INSERT INTO reserver VALUES ('".$reqpseudo['pseudo']."','".$_POST['voiture']."','".$_POST['numsemaine']."','".$_POST['annee']."','".$jourreserv."','".$moment."')" or die ("erreur de requête!!" . mysql_error());

le problème est qu'il ne connais pas le $reqpseudo
donc j'ai fais des requetes pour que cela m'affiche le résultat, c'est a dire que cela m'affiche le pseudo:

$reqpseudo = mysql_query ("select pseudo from membre where pseudo='garage' ") or die ("erreur de la requête pseudo!! " .mysql_error());

$req1 = mysql_query ($requete) or die ("erreur de la requête d'insertion !! " . mysql_error());
while($tab = mysql_fetch_array ($req1))
{
echo $tab;
}

mais a chaque fois il m'affiche la même erreur:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\intranet\ddsv28\tableau.php on line 210

et enregistre id resource dans la base!!

ma table membre est comme ceci:

$req = mysql_query ("CREATE TABLE `membre` (`id_membre` int(3) not null auto_increment,`id` varchar(20) not null,`pseudo` varchar(20) not null,`passe` varchar(20) not null, primary key(`id_membre`))") or die ("création de la table membre non effectuée");

c'est une table ou il y a les pseudo déja saisi

et ma table reserver est créée comme cela:

$req = mysql_query ("CREATE TABLE `reserver` (`id_membre` char(20) not null , `code` char(10) not null, `numsemaine` int(2) not null, `annee` int(4) not null, `jourreserve` char(10) not null, `moment` varchar(10) not null, primary key (`id_membre`,`code`))")
or die ("création de la table réserver non effectuée");

donc le pseudo va s'enregistrer dans id_membre qui est pourtant en char!!

vous avez une idée?

merci pour votre aide a venir!! :-)

2 réponses

Messages postés
1123
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
26 juin 2008
1
Salut

essaye $req1 = mysql_query ($reqpseudo).....

Sans le bon nom de requete ça marche beaucoup moins bien

++

------
Je cherche un poste de developpeur PHP mysql, si vous avez une proposition ou si vous voulez mon CV ==> [mailto:tortue@kame-house.org mailto:tortue@kame-house.org]

=> http://www.kame-house.org La plus grosse base de données de DA du net
Messages postés
111
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
4 mars 2004

au fait, j'ai résolu mon truc, maintenant jen ai un autre:
ca concerne les voiture
Code:

for ($j=0;$j<=7;$j++)
{

switch ($j)
{

case 0 : $req= mysql_query ("select libelle from vehicule where code="xxx1981x" ") or die ("requête de la première voiture non effectuée");
$res = mysql_fetch_array($req);
echo"<tr align="center"><td width="117">".$res[0]."</td>";
break;
case 1 : $req= mysql_query ("select libelle from vehicule where code="xxx1873x" ") or die ("requête de la deuxième voiture non effectuée");
$res=mysql_fetch_array($req);
echo"<tr align="center"><td width="117">".$res[0]."</td>";
break;
case 2 : $req= mysql_query ("select libelle from vehicule where code="xxx2002x" ") or die ("requête de la troisième voiture non effectuée");
$res=mysql_fetch_array($req);
echo"<tr align="center"><td width="117">".$res[0]."</td>";
break;
...
case 7 : $req= mysql_query ("select libelle from vehicule where code="xxx2099x" ") or die ("requête de la huitième voiture non effectuée");
$res=mysql_fetch_array($req);
echo"<tr align="center"><td width="117">".$res[0]."</td>";
break;
}
//permet d'afficher les checkbox et les initiales(une fois que les checkbox sont cochées)
for ($i=0; $i<14; $i++)
{
echo "<center><td width="40" align = "center"></td></center>";
}
echo "</tr>";
}


et donc dans ma requête d'insertion, j'ai mis ceci:

Code:

$requete = "INSERT INTO reserver VALUES ('%', '".$res_pseudo['pseudo']."','".$res[0]."','".$_POST['numsemaine']."','".$case[$i]."_".$j."','".$_POST['annee']."','".$jourreserv."','".$moment."')";
$req1 = mysql_query ($requete) or die ("erreur de la requête d'insertion !! " . mysql_error());


le problème est quelque soit le nom de la voiture, il me retourne sans cesse seat, c'est a dire la dernière requete du switch, dont le code est xxx2099x

dans mon tableau, je peux réserver plusieurs voitures différentes sur
plusieurs jours
et ma requete, elle insere combien d'enregistrement a chaque fois ?

1 seul!

donc je suis obligée de faire une boucle pour parcourir mon tableau, pour
voir quelle case est cochée, et d'insérer dans ma base si c'est le cas.

pour cela il faut que j'utilise un truc du genre:

$i=1;
> > for ( $case.1 to $case42 )
> > {
> > if ( $case.$1= cheked)
> > {
> > ta requete d'insertion
> > }
> > $i++;
> > }

mais je ne sais pas comment on fais en php pour le if avec un truc a cocher si c vrai.

vous comprenez?