Probleme select SQL

WRInaute occasionnel
Bonjour,

J'ai un petit problème que je n'arrive pas résoudre

quand je fait



Code:
$requet = mysql_query("SELECT DISTINCT chanteur FROM mabase WHERE genre=\"$genre\" ORDER BY chanteur");

il y a certains chanteurs qui ne s'affichent pas. mais s'affichent quand j'éxecute la requette sur phpmyadmin

mais si je vais

Code:
$requet = mysql_query("SELECT chanteur FROM mabase WHERE genre=\"$genre\" ORDER BY chanteur");

Tous les chanteur s'affichent plusieurs fois.

Est-ce que vous avez une idée?

Merci
 
WRInaute passionné
Le distinct a l'avantage d'éliminer la valeur chanteur en doublon. Donc sous phpmyadmin tu dois voir plusieurs fois la valeur chanteur à l'identique
 
WRInaute passionné
il y a certains chanteurs qui ne s'affichent pas. mais s'affichent quand j'éxecute la requette sur phpmyadmin
donc c'est ton code (php) qui pose pb, si la requête est la même, les résultats retournés sont les mêmes
 
WRInaute occasionnel
Voici le code entier en php

Code:
<?php
include 'connection.php';
$genre=htmlentities($_GET['genre'], ENT_QUOTES);

$requet = mysql_query("SELECT DISTINCT chanteur FROM mabase WHERE genre=\"$genre\" ORDER BY chanteur");
mysql_close();
$donnee=mysql_fetch_array($requet);

while ($donnee=mysql_fetch_array($requet)) {

$art=str_replace(" ","-",$donnee['chanteur']);

echo '
<li><a href="Artiste/'. $art.'.php" title="'.$donnee['chanteur'].'">	
'.$donnee['chanteur'].'</a>
</li>
';
}
  
?>
 
WRInaute discret
hm19000 a dit:
Code:
$requet = mysql_query("SELECT DISTINCT chanteur FROM mabase WHERE genre="$genre" ORDER BY chanteur");
Je ne vois vraiment rien de particulier dans ta requete, alors moi aussi je vote pour un probleme php lors de la manipulation des données.

à ta place pour en etre sûr je ferai :
Code:
$query = "SELECT DISTINCT chanteur FROM mabase WHERE genre="$genre" ORDER BY chanteur";
echo($query);
ensuite tu execute ce qui s'affiche sur phpmydmin. Si tu retrouves tous tes chanteurs alors c'est sûr que c'est un probleme php, Sinon essaye :
Code:
$requet = mysql_query("SELECT DISTINCT chanteur FROM mabase WHERE genre='$genre' ORDER BY chanteur");
 
WRInaute accro
jamalofski a dit:
hm19000 a dit:
Code:
$requet = mysql_query("SELECT DISTINCT chanteur FROM mabase WHERE genre="$genre" ORDER BY chanteur");
Je ne vois vraiment rien de particulier dans ta requete, alors moi aussi je vote pour un probleme php lors de la manipulation des données.

à ta place pour en etre sûr je ferai :
Code:
$query = "SELECT DISTINCT chanteur FROM mabase WHERE genre="$genre" ORDER BY chanteur";
echo($query);
ensuite tu execute ce qui s'affiche sur phpmydmin, si tu retrouves tous tes chanteurs alors c'est sûr que c'est un probleme php, sinon essaye :
Code:
$requet = mysql_query("SELECT DISTINCT chanteur FROM mabase WHERE genre='$genre' ORDER BY chanteur");

Voire plutôt :

"SELECT DISTINCT chanteur FROM mabase WHERE genre='".mysql_real_escape_string($genre)."' ORDER BY chanteur"
 
WRInaute occasionnel
Je vient de trouvé le probleme, je ne sais pas comment j'ai mis $donnee=mysql_fetch_array($requet); en double


Code:
$donnee=mysql_fetch_array($requet);

while ($donnee=mysql_fetch_array($requet)) {
 
Discussions similaires
Haut