Signaler

Afficher les doublons d'une table ^^ [Résolu/Fermé]

Posez votre question cheese42 859Messages postés mardi 11 septembre 2007Date d'inscription 26 juin 2017 Dernière intervention - Dernière réponse le 15 févr. 2009 à 17:08 par cheese42
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^^
Utile
+0
plus moins
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).
Utile
+0
plus moins
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
gigaga 2348Messages postés vendredi 20 juin 2008Date d'inscription 22 août 2014 Dernière intervention - 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>
Utile
+0
plus moins
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^^ !!!!!
gigaga 2348Messages postés vendredi 20 juin 2008Date d'inscription 22 août 2014 Dernière intervention - 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>';
?>
Utile
+0
plus moins
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 !!!!!!!!
gigaga 2348Messages postés vendredi 20 juin 2008Date d'inscription 22 août 2014 Dernière intervention - 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>
}
Utile
+0
plus moins
SSUUBBLLIIMMEE !!!! Merci Gigaga ^^ !!!!!!!!

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !