Afficher les doublons d'une table ^^

Résolu/Fermé
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 15 févr. 2009 à 16:26
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 15 févr. 2009 à 17:08
Bonjour,
j'ai lu un peu de partout mais je ne trouve pas la soluce pour ce probleme, voila, sur mon site je voudrai afficher dans un tableau les 5 meilleurs parrains de mon site avec a cote leur nbr de filleuls a chacuns, donc j'ai une requete, celle ci::

<?php
$reponso = mysql_query("SELECT pseudo,parrain as parrain,COUNT(*) FROM wio_joueur GROUP BY parrain HAVING COUNT(*)>2");

echo'<table width="600" border="1" bgcolor="#CC66FF">
<tr>
<td width="100" align="center">POSITION</td>
<td width="250" align="center">PSEUDO DU PARRAIN</td>
<td width="250" align="center">NOMBRE DE FILLEULS</td>
</tr>';
$nb='0';
while ($donneos = mysql_fetch_array($reponso) )
{
$nb++;
echo'<tr>
<td width="100" align="center">'.$nb.'</td>
<td width="250" align="center">'.$donneos['parrain'].'</td>
<td width="250" align="center">'.$donneos['pseudo'].'</td>
</tr>';
}
echo'</table>';
?>
Mais le probleme, c'est qu'elle affiche bien des parrains donc ceux qui ont plus de 2 filleuls^^car HAVING COUNT(*)>2"), mais bon, je suppose que ce n'est pas la bonne requete car moi je ne veux pas specialement ceux qui ont plus de 2 filleuls mais les 5 meilleurs parrains, j'ai donc dans ma base de donnees, une table avec, pseudo, mot de passe,etc, et parrain, et dans cette case parrain, il y a le nom du parrain du membre, mais je n'ai aucune table qui dit ce membre a style nb_filleul : exemple4 si il a 4 filleuls, j'ai juste la case parrain avec son parrain ecrit dedans, voila, si on peut m'aider, merci d'avance^^
A voir également:

5 réponses

gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
15 févr. 2009 à 16:31
Il faut trier ta requete

SELECT pseudo,parrain as parrain,COUNT(*) nombre FROM wio_joueur GROUP BY parrain ORDER BY nombre desc"

puis ne faire que 5 itérations dans ton affichage (pour n'afficher que les 5 1er).
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
15 févr. 2009 à 16:34
merci je viens de mettre ta requete , ca m'affiche 50 resultats mais par contre ca ne m'affiche pas le nbr de filleuls du membre, si tu veux voir www.ketokdo.fr, ensuite pseudo test, mdp test, et page top10 dans le menu gauche^^merci
0
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
15 févr. 2009 à 16:37
Normal, tu ne l'affiches pas!

remplace

<td width="250" align="center">'.$donneos['pseudo'].'</td>

par

<td width="250" align="center">'.$donneos['nombre'].'</td>
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
15 févr. 2009 à 16:40
ouahou :: ca y est depuis 2 jours, ca m'affiche quelque chose de ressemblant ^^ par contre une derniere chose stp stp stp !!! comment finir la requete pour afficher uniquement les 5 premiers car le DESC LIMIT 0,5, ca marche pas et regarde le 1er est en fait aucun pseudo mais a priori le nbr en face est le nbr de membres n'ayant pas de parrains^^, comment puis je le supprimer ???? vraiment un grand merci gigaga^^ !!!!!
0
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
15 févr. 2009 à 16:44
Remplace tout ça :

echo'<table width="600" border="1" bgcolor="#CC66FF">
<tr>
<td width="100" align="center">POSITION</td>
<td width="250" align="center">PSEUDO DU PARRAIN</td>
<td width="250" align="center">NOMBRE DE FILLEULS</td>
</tr>';
$nb='0';
while ($donneos = mysql_fetch_array($reponso) )
{
$nb++;
echo'<tr>
<td width="100" align="center">'.$nb.'</td>
<td width="250" align="center">'.$donneos['parrain'].'</td>
<td width="250" align="center">'.$donneos['pseudo'].'</td>
</tr>';
}
echo'</table>';
?>



Par :


echo'<table width="600" border="1" bgcolor="#CC66FF">
<tr>
<td width="100" align="center">POSITION</td>
<td width="250" align="center">PSEUDO</td>
<td width="250" align="center">PSEUDO DU PARRAIN</td>
<td width="250" align="center">NOMBRE DE FILLEULS</td>
</tr>';
$nb='0';
while ($donneos = mysql_fetch_array($reponso) )
{
if ($nb>5) break;
$nb++;
echo'<tr>
<td width="100" align="center">'.$nb.'</td>
<td width="250" align="center">'.$donneos['pseudo'].'</td>
<td width="250" align="center">'.$donneos['parrain'].'</td>
<td width="250" align="center">'.$donneos['nombre'].'</td>
</tr>';
}
echo'</table>';
?>
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
15 févr. 2009 à 16:51
allez, je poste en resolu car je crois que la ca ira bien comme ca pour le moment tant pis si ca affiche le pseudo test avec les membres sans filleuls ^^ merci encore gigaga ^^ !!!!!!!!!!!!!!!!!!! et vive CCM !!!!!!!!
0
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
15 févr. 2009 à 16:53
Remplace :

if ($nb>5) break;
$nb++;
echo'<tr>
<td width="100" align="center">'.$nb.'</td>
<td width="250" align="center">'.$donneos['pseudo'].'</td>
<td width="250" align="center">'.$donneos['parrain'].'</td>
<td width="250" align="center">'.$donneos['nombre'].'</td>



par :



if ($nb=>5) break;
if ($donneos['pseudo'] != "test") {
$nb++;
echo'<tr>
<td width="100" align="center">'.$nb.'</td>
<td width="250" align="center">'.$donneos['pseudo'].'</td>
<td width="250" align="center">'.$donneos['parrain'].'</td>
<td width="250" align="center">'.$donneos['nombre'].'</td>
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
15 févr. 2009 à 17:08
SSUUBBLLIIMMEE !!!! Merci Gigaga ^^ !!!!!!!!
0