Titre: Trier une liste
Posté par: gcvoiron le le 26-04-2006 a 00:19:08
Bonjour, le code ci dessous me donne une liste de mes membres, avec leurs ID, leur email, et leur nombre de filleuls (ref). Je voudrai trier cette liste par nombre de filleuls. Comment faire? Merci.
Code:
<? include("header.inc.php");
?> </strong>Liste des membres classé par parrain</u></span><br> <table width="88%" height="32" border="1" align="center" bordercolor="#000000" bgcolor="#FFFFFF"> <tr><td width="9%" class=Style1> <center class=Style1 >ID</center></td><td width="20%" class=Style1> <center class=Style1 >E-mail</center></td><td width="17%" class=Style1> <center class=Style1 >Ref <? $result = mysql_query("SELECT name, id, email, url, points, views, hits, savepoints FROM `demo_a_accounts`"); while ($myrow = mysql_fetch_row($result)){ $direkt = mysql_num_rows(mysql_query("SELECT id FROM `demo_a_accounts` WHERE `refererid` = '$myrow[1]'")); if ($myrow[7] == 1) {$sparen = "oui";} else {$sparen = "non";}; $resultb = mysql_query("SELECT name, id, email, url, points, views, hits FROM `demo_a_accounts` WHERE id='$myrow[1]'"); while ($myrowb = mysql_fetch_row($resultb)) { echo" <TR> <td class=Style1><center class=Style1 ><b> $myrow[1] </b></TD> <td class=Style1><center class=Style46 ><b><A href=mailto:$myrow[2]>E-mail</a></b></A></TD> <td class=Style1><center class=Style1 ><b>Refs: $direkt </b></TD>"; }; }; ?> |
|
|
Titre: Re:Trier une liste
Posté par: MarvinLeRouge le le 26-04-2006 a 12:00:49
Bonjour,
1) Tu stockes toutes tes données dans un tableau php 2) Tu tries ce tableau avec une des instructions de tri de php 3) Tu affiches ce tableau 4) Tu arrêtes la mise en page en tableaux et les balises dépréciées (oui je sais je suis hors-sujet ;D) |
Titre: Re:Trier une liste
Posté par: gcvoiron le le 26-04-2006 a 12:25:24
| Je viens de me mettre au PHP, donc ce que vous me dites, pour moi, c'est du chinois! :) |
Titre: Re:Trier une liste
Posté par: real34 le le 26-04-2006 a 12:25:46
Personnellement, je pense que le plus simple (et de loin !) est de modifier un tout petit peu ta requête SQL.
Ainsi,
Code:
| SELECT name, id, email, url, points, views, hits, savepoints FROM `demo_a_accounts` |
|
devient
Code:
| SELECT name, id, email, url, points, views, hits, savepoints FROM `demo_a_accounts` ORDER BY filleuls (DESC) |
|
(Le 'DESC' à la fin te permet de choisir si tu les veux en décroissant plutôt qu'en croissant !)
cf ici (http://www.phpfreaks.com/mysqlref/16.php) pour plus d'infos sur ORDER BY
@+ |
Titre: Re:Trier une liste
Posté par: gcvoiron le le 26-04-2006 a 12:28:04
Merci, mais je mets quoi à la place de filleuls dans :
Code: |
Titre: Re:Trier une liste
Posté par: real34 le le 26-04-2006 a 13:53:05
Merci, mais je mets quoi à la place de filleuls dans :
Code:
|
|
Tu remplaces "filleuls" par le nom du champ de ta base de donnée qui contient le nombre de filleuls de l'utilisateur. (ref dans ton cas non ?) |
Titre: Re:Trier une liste
Posté par: gcvoiron le le 26-04-2006 a 13:59:29
Ca ne marche pas, l'erreur suivante apparait :
Code:
Ref Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in liste-parrains.php on line 338 |
|
Voici les lignes 337, 338 et 339 :
Code:
<? $result = mysql_query("SELECT name, id, email, url, points, views, hits, savepoints FROM `demo_a_accounts` ORDER BY ref (DESC)"); while ($myrow = mysql_fetch_row($result)){ $direkt = mysql_num_rows(mysql_query("SELECT id FROM `demo_a_accounts` WHERE `refererid` = '$myrow[1]'")); |
|
|
Titre: Re:Trier une liste
Posté par: real34 le le 26-04-2006 a 15:09:14
... enlève le (DESC) !!!!! >:(
C'était une parenthèse pour dire que c'était facultatif !!!! :D Donc soit tu le mets (sans les parenthèses) et tu auras tes résultats dans l'ordre Décroissant soit tu ne le met pas et ils seront dans l'ordre croissant !
Ton code devrait donc être :
Code:
| $result = mysql_query("SELECT name, id, email, url, points, views, hits, savepoints FROM `demo_a_accounts` ORDER BY ref"); |
|
|
Titre: Re:Trier une liste
Posté par: gcvoiron le le 26-04-2006 a 15:42:44
| C'est fais, mais ça ne trie pas... |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|