Reqête sql qui selectionne pas toute les ....
Résolu
max1395
-
max1395 -
max1395 -
11 réponses
Bonjour,
Premièrement ton code est un peut indigeste. je pense que tu peux le simplifier mille fois.
Par exemple, se connecter plusieurs fois à la base de donnée.
Tu peux aussi eviter d'utiliser l'ouverture et la fermeture des balises :
<?php
?>
<?php
?>
Bon en ce qui concerne ton problème, il vient du fait que tu utilise plusieur fois le meme nom de variable pour des requêtes différentes :
Penses à utiliser des variables différentes et surtout qu'elle ont un nom plus compréhensible:
au lieu de l'appeler $requete2 utilise $MembresSansParrain ou $sansparrain à toi de voir.
Allez courrge Mais n'oubli pas qu'en programmation quand tu ouvre 1 portes et que tu pense àvoir découvert quelque chose il y a 5 nouvelles portes qu'y s'ouvres.
Un bon conseil: avant d'avancer Approfondie ce que tu vient de découvrir.
++
Gabriel
Premièrement ton code est un peut indigeste. je pense que tu peux le simplifier mille fois.
Par exemple, se connecter plusieurs fois à la base de donnée.
Tu peux aussi eviter d'utiliser l'ouverture et la fermeture des balises :
<?php
?>
<?php
?>
Bon en ce qui concerne ton problème, il vient du fait que tu utilise plusieur fois le meme nom de variable pour des requêtes différentes :
$requete2 = mysql_query('SELECT * FROM parrain WHERE parrain = "" ') or die(mysql_error()); $requete2 = mysql_query('SELECT * FROM membre WHERE id = "'.$filleul.'"') or die(mysql_error()); $requete2 = mysql_query('SELECT * FROM membre WHERE id = "'.$id.'" ') or die(mysql_error());
Penses à utiliser des variables différentes et surtout qu'elle ont un nom plus compréhensible:
au lieu de l'appeler $requete2 utilise $MembresSansParrain ou $sansparrain à toi de voir.
Allez courrge Mais n'oubli pas qu'en programmation quand tu ouvre 1 portes et que tu pense àvoir découvert quelque chose il y a 5 nouvelles portes qu'y s'ouvres.
Un bon conseil: avant d'avancer Approfondie ce que tu vient de découvrir.
++
Gabriel
bon j'ai refais , ça donne sa :
mais ça marche pas
$requete2 = mysql_query('SELECT * FROM parrain WHERE parrain = "" ') or die(mysql_error()); while ($donnees = mysql_fetch_array($requete2)) { $filleul = $donnees['filleul'] ; } $requete3 = mysql_query('SELECT * FROM membre WHERE id = "'.$filleul.'"') or die(mysql_error()); while ($donnees = mysql_fetch_array($requete3)) { $id = $donnees['id'] ; } $requete4 = mysql_query('SELECT * FROM membre WHERE id = "'.$id.'" ') or die(mysql_error()); while ($donnees = mysql_fetch_array($requete4)) { echo $donnees['pseudo'] ; echo '<br><br><br>' ; } mysql_close(); // Déconnexion de MySQL
mais ça marche pas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut !
Bon je vois que tu n'as toujours pas résolu ton probleme !
tu peux me contacter par msn à gabriel@anastore.com je suis dispo toute la matiniée.
++
Gaby
Bon je vois que tu n'as toujours pas résolu ton probleme !
tu peux me contacter par msn à gabriel@anastore.com je suis dispo toute la matiniée.
++
Gaby
Jointures.
J'ai par contre un doute sur cette requête, car logiquement un membre n'ayant pas de filleul ou n'étant pas parrain ne devrait pas être présent dans la table parrain.
Auquel cas, ta requête devrait ressembler à :
$sql = 'SELECT membre.id, membre.pseudo FROM membre JOIN parrain ON membre.id = parrain.filleul WHERE parrain.parrain = \'\''; $requete = mysql_query($sql) or exit(mysql_error()); while( $donnees = mysql_fetch_assoc($requete) ) { echo 'id : ' . $donnees['id'] . '; pseudo : ' . $donnees['pseudo'] . "\n"; }
J'ai par contre un doute sur cette requête, car logiquement un membre n'ayant pas de filleul ou n'étant pas parrain ne devrait pas être présent dans la table parrain.
Auquel cas, ta requête devrait ressembler à :
$sql = 'SELECT membre.id, membre.pseudo FROM membre LEFT JOIN parrain ON membre.id = parrain.filleul WHERE parrain.parrain IS NULL';
Je fais ça car j'en ai besoin mais la requête ne marche pas . je prefers mon code même si il est plus long je m'y retrouve ..... ou est le problème ??
WHERE parrin IS NULL cest peux etre la la solution. mais je t'avou que les jointure sont un bon comromis.
Toi tu t'y retrouve mais un programmeur pro à du mal a comprendre ta logique. peux etre tu peux nous donner un plan de tes tables. ou un export (dump sql) et de mon coté j'essai de te trouver les filleul sans parrain.
++
Gaby
Toi tu t'y retrouve mais un programmeur pro à du mal a comprendre ta logique. peux etre tu peux nous donner un plan de tes tables. ou un export (dump sql) et de mon coté j'essai de te trouver les filleul sans parrain.
++
Gaby
Je rapelle que mon probleme c'est que quand ça affiche le resultat donc de membre sans parrain , sa ne selectionne que 1 membre au lieu de tous !