Pbs de requêtes SQL

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 14:57

Bonjour à tous !

J'ai 2 fichiers en PHP : l'un affichant le noms des clients enregistrés dans la BDD de PHPMyAdmin et l'autre contenant les informations les concernant. Et je voudrais que lorsque je clique sur un nom dans la première page, je sois renvoyée vers la deuxième où s'affiche les informations correspondant au client. Or, là, peu importe le nom sur lequel je clique j'ai les informations de tout le monde qui s'affichent et pas seulement celles de la personne voulue.
Visiblement l'erreur est à cet endroit ( en tout cas c'est l'erreur qu'on me renvoie )
// Requête qui récupère toutes les données de la table
$reponse = mysql_query("SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids FROM formulaire ") or die(mysql_error());
Et voici mes 2 fichiers php :

LE PREMIER AVEC LES NOMS DES CLIENTS:
<div class="clients">
<?php
mysql_connect("localhost", "root"); 
mysql_select_db("…"); 


// Requête qui récupère toutes les données de la table
$reponse = mysql_query("SELECT nom, prenom FROM formulaire") or die(mysql_error());


//Requête qui organise les données
 
while ($donnees = mysql_fetch_array($reponse) )
{
?>

<a href="http://localhost/LECTURE%20BASE/lecture_infos.php"><?php echo $donnees['nom'];?> <?php echo $donnees['prenom'];?></a> <br />
<?php
}
 
mysql_close();?>
</div>
LE DEUXIEME AVEC LES INFOS PERSOS :
// Requête qui récupère toutes les données de la table
$reponse = mysql_query("SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids FROM formulaire ") or die(mysql_error());


//Organisation des données
while ($donnees = mysql_fetch_array($reponse))
{
?>

<h4>INFORMATIONS PERSONNELLES :</h4>
<?php echo $donnees['nom'];?> <?php echo $donnees['prenom'];?> <br />
<?php echo $donnees['adresse'];?> <?php echo $donnees['code_postal'];?> <?php echo $donnees['ville'];?> <br /> <br /><?php
}

// Déconnexion 
mysql_close(); 
?>
Quelqu’un aurait une idée de comment résoudre ce problème SVP ?

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 14:59

EDIT : si c'est bien un pb de requêtes SQL mon message est mal placé :oops: :oops: :oops:
Quelqu'un pourrait-il le déplacer?

Eléphant du PHP | 168 Messages

14 janv. 2010, 15:00

dans ta seconde requête tu dois faire un where nom = $donnees['nom'];

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 15:07

// Requête qui récupère toutes les données de la table
$reponse = mysql_query("SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids FROM formulaire WHERE nom = $donnees['nom'];") or die(mysql_error());
ERREUR :(
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\LECTURE BASE\lecture_infos.php on line 11

Eléphant du PHP | 168 Messages

14 janv. 2010, 15:10

dans ton premier formulaire il faut ajouter ?var=$donnees['nom'] après href="http://localhost/LECTURE%20BASE/lecture_infos.php
:href="http://localhost/LECTURE%20BASE/lecture ... r=$donnees['nom']

ensuite tu fais un where nom=$var
il faut aussi que tu fasses un $var = $_GET['var'] dans ton second fichier avant ta requête

EDIT: pour eviter les parse error sur l'url : href="http://localhost/LECTURE%20BASE/lecture ... ".$donnees['nom']

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 15:17

4HModification lien premier fichier :
<a href="http://localhost/LECTURE%20BASE/lecture ... r=$donnees['nom']"><?php echo $donnees['nom'];?> <?php echo $donnees['prenom'];?></a> <br />

Modification deuxième fichier :
// Requête qui récupère toutes les données de la table
$reponse = mysql_query("SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids 
FROM formulaire WHERE nom=$var") or die(mysql_error());
Mais il me sort toujours une erreur dans la requête -__-

Eléphant du PHP | 168 Messages

14 janv. 2010, 15:19

where nom ='$var';

As-tu bien récupéré $_GET['var']; vérifie que $_GET['var'] contient bien le nom avec echo

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 15:25

Oui oui c'est récupéré .

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'nom']'' at line 1

Mammouth du PHP | 672 Messages

14 janv. 2010, 15:28

Bonjour.

Remplace ton mysql_query par un echo pour afficher la requête.
Ca devrait t'aider à voir où est le problème.

Eléphant du PHP | 168 Messages

14 janv. 2010, 15:30

$reponse = mysql_query("SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids 
FROM formulaire WHERE nom='$var'") or die("erreur dans ma requête($reponse)");
Normalement ça devrais marcher.
Sinon tu récupères la requête de l'erreur et tu la mets sur le forum;

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 15:34

$reponse = mysql_query("SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids 
FROM formulaire WHERE nom='$var'") or die("erreur dans ma requête($reponse)");
ERREUR -> "erreur dans ma requête()"

Eléphant du PHP | 168 Messages

14 janv. 2010, 15:39

oui bien sûr;
essaie:
$reponse = "SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids 
FROM formulaire WHERE nom='$var'";
mysql_query($reponse) OR die("erreur dans ma requête($reponse)");
Tu devrais quand même avoir une erreur mais la requête devrait s'afficher.

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 15:42

Oui elle s'affiche :

"erreur dans ma requête(SELECT nom, prenom, adresse, code_postal, ville, dents, chocolat, coeur1, coeur2, yeux_ventre, poids FROM formulaire WHERE nom='$donnees['nom']')"

Eléphant du PHP | 168 Messages

14 janv. 2010, 15:45

donc le problème vient du lien dans le premier fichier; facile!
dans ton premier fichier tu fais
while ($donnees = mysql_fetch_array($reponse) )
{
?>
$var2 = $donnees['nom'];
<a href="http://localhost/LECTURE%20BASE/lecture_infos.php?var='$var2'"><?php echo $donnees['nom'];?> <?php echo $donnees['prenom'];?></a> <br />
<?php
}
Normalement ça devrait être bon;

Cindy1989s
Invité n'ayant pas de compte PHPfrance

14 janv. 2010, 15:52

Ca beugue toujours ! Est ce que dans le deuxième fichier je dois remplacer tous les 'var' par des 'var2'?? #-o