Problème de SELECT
Résolu
valentin358
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
valentin358 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
valentin358 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j''ai un problème avec un code et je ne trouve pas l'erreur :
Le problème c'est que j'ai l'impression que $reponse2['march_designation'] est vide car j'ai le message "Une erreur c'est produite. Veuillez contacter le webmasteur. <br />" qui s'affiche donc l'erreur vient surement du $donne2 et $reponse2 car l'echo $reponse2['march_designation'] n'affiche rien contrairement à l'echo $_$_POST['outil'].
if(isset($_POST['outil'])) { include("mysql_bdd.php"); $donnee1=mysql_query("SELECT * FROM magasin WHERE mag_designation='".$_POST['outil']."'");//on sélectionne les info de l'objet sélectionné. $reponse1=mysql_fetch_array($donnee1); $donnee2=mysql_query("SELECT * FROM marchandises WHERE march_pseudo='".$_SESSION['pseudo']."'");//On sélectionne les objets qu'a déja en sa possession l'acheteur $reponse2=mysql_fetch_array($donnee2); echo 'DEBUT <br />'; echo $_POST['outil'].'<br />'; echo $reponse2['march_designation'].'<br />'; if(!isset($reponse2['march_designation']) OR !isset($_POST['outil'])) { echo 'Une erreur c\'est produite. Veuillez contacter le webmasteur. <br />'; } elseif($_POST['outil']=$reponse2['march_designation'])//on vérifié que l'acheteur ne possède pas cette objet { echo 'Vous possédez déjà cette objet : '.$reponse1['mag_designation']; } elseif($_POST['outil']!=$reponse2['march_designation'])//On enregistre les info de l'objet acheté dans la table "marchandise" avec le pseudo de l'acheteur { $donnee3=mysql_query("INSERT INTO marchandises VALUES ('','".$_SESSION['pseudo']."','".$reponse1['mag_designation']."','".$reponse1['mag_prix']."','".$reponse1['mag_type']."')"); echo 'Vous venez d\'acheté un '.$reponse1['mag_designation'].' au prix de '.$reponse1['mag_prix'].'€'; } echo 'FIN <br />'; } else { echo 'Vous devez choisir une marchandise.'; } ?>
Le problème c'est que j'ai l'impression que $reponse2['march_designation'] est vide car j'ai le message "Une erreur c'est produite. Veuillez contacter le webmasteur. <br />" qui s'affiche donc l'erreur vient surement du $donne2 et $reponse2 car l'echo $reponse2['march_designation'] n'affiche rien contrairement à l'echo $_$_POST['outil'].
A voir également:
- Problème de SELECT
- Please select boot device - Forum Windows 7
- Reboot and select proper boot device - Forum Windows
- Select boot mode android - Guide
- Reboot and select proper boot device or insert boot media in selected boot device and press a key ✓ - Forum PC portable
- Illustrator cadre de sélection disparu ✓ - Forum Illustrator
4 réponses
Hello,
as-tu bien spécifié session_start(); au début de ton code ?
J'imagine que oui mais on sait jamais :o)
as-tu bien spécifié session_start(); au début de ton code ?
J'imagine que oui mais on sait jamais :o)
voir commentaires:
if(isset($_POST['outil'])) { include("mysql_bdd.php"); $donnee1=mysql_query("SELECT * FROM magasin WHERE mag_designation='".$_POST['outil']."'");//on sélectionne les info de l'objet sélectionné. $reponse1=mysql_fetch_array($donnee1); //en opérant ainsi tu n'aura qu'une seule ligne de ta table, hors tu parles d'infos au pluriel ?? $donnee2=mysql_query("SELECT * FROM marchandises WHERE march_pseudo='".$_SESSION['pseudo']."'");//On sélectionne les objets qu'a déja en sa possession l'acheteur $reponse2=mysql_fetch_array($donnee2); //en opérant ainsi tu n'aura qu'une seule ligne de ta table, hors tu parles d'objets au pluriel ?? //pour les deux remarques ci dessus il faut faire une boucle while pour le mysql_fetch_array echo 'DEBUT <br />'; echo $_POST['outil'].'<br />'; echo $reponse2['march_designation'].'<br />'; if(!isset($reponse2['march_designation']) OR !isset($_POST['outil'])) //ce test n'est pas valable isset veut dire si la variable existe, pour détecter une errue de requette c'est pas bon //fais plutot if($donnee2) si la requette marche pas c'est false { echo 'Une erreur c\'est produite. Veuillez contacter le webmasteur. <br />'; } elseif($_POST['outil']=$reponse2['march_designation'])//on vérifié que l'acheteur ne possède pas cette objet { echo 'Vous possédez déjà cette objet : '.$reponse1['mag_designation']; } elseif($_POST['outil']!=$reponse2['march_designation'])//On enregistre les info de l'objet acheté dans la table "marchandise" avec le pseudo de l'acheteur { $donnee3=mysql_query("INSERT INTO marchandises VALUES ('','".$_SESSION['pseudo']."','".$reponse1['mag_designation']."','".$reponse1['mag_prix']."','".$reponse1['mag_type']."')"); echo 'Vous venez d\'acheté un '.$reponse1['mag_designation'].' au prix de '.$reponse1['mag_prix'].'€'; } echo 'FIN <br />'; } else { echo 'Vous devez choisir une marchandise.'; } ?>
J'ai réussi. J'ai rajouté une condition dans $donnee2 :
$donnee2=mysql_query("SELECT * FROM marchandises WHERE march_pseudo='".$_SESSION['pseudo']."' AND march_designation='".$_POST['outil']."'") or die('Erreur SQL !<br />'.$donnee2.'<br />'.mysql_error());//On sélectionne les objets qu'a déja en sa possession l'acheteur $reponse2=mysql_fetch_array($donnee2);