Trier une liste en PHP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par gcvoiron, 26 Avril 2006.

  1. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    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&eacute; 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>";
    };
    };
    ?> 
     
  2. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    Coucou,

    le schéma de la table demo_a_accounts serait un plus stp.
    Et si tu avais ajouté davantage de variables ton code serait un peu plus lisible mais là n'est pas la question... :wink:

    Commence par calculer le nombre_total_filleul par id membre et ensuite tu fais un order by nombre_total_filleul ??
     
  3. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Voici le schéma de la table :
    [​IMG]
    Comment faire? Merci.
     
  4. mumbly
    mumbly WRInaute discret
    Inscrit:
    23 Novembre 2005
    Messages:
    66
    J'aime reçus:
    0
    Il faudrait inserer je pense
    ORDER BY ref DESC
    derriere
    WHERE id='$myrow[1]'
     
  5. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Non, ça ne marche pas, ça n'affiche pas d'erreur, amis ce n'est pas trier.
     
  6. mumbly
    mumbly WRInaute discret
    Inscrit:
    23 Novembre 2005
    Messages:
    66
    J'aime reçus:
    0
    Alors essaye de remplacer ca

    Code:
    $result = mysql_query("SELECT name, id, email, url, points, views, hits, savepoints FROM `demo_a_accounts`");
    par

    Code:
    $result = mysql_query("SELECT name, id, email, url, points, views, hits, savepoints FROM `demo_a_accounts` ORDER BY ref DESC");
    en esperant que ce soit cela
     
  7. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Non, ça ne marche pas, ça affiche cette erreur :
     
  8. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    La ligne 338 est la ligne suivante :
     
  9. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    manque une partie dans la fonction (http://fr2.php.net/mysql_query)...
    quant à moi j'ai cerné le problème mais j'ai vraiment la flemme, sorry...
     
  10. mumbly
    mumbly WRInaute discret
    Inscrit:
    23 Novembre 2005
    Messages:
    66
    J'aime reçus:
    0
    arf la bourde ref n'existe pas dans ta table!
    Remplace le par refererid
    (du moins je pense que c'est le champs du nombre de filleul)
     
  11. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Non ça ne marche toujours pas. Le message d'erreur est le suivant :
     
  12. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    Je pense qu'il faut chercher dans une requête SQL de ce genre :
    Code:
    SELECT COUNT( DISTINCT D.refererid ), E.id  FROM demo_a_accounts D, demo_a_accounts E WHERE D.refererid = E.id GROUP BY E.refererid ORDER BY E.id
    ??

    Ou, si la requête est fausse, en gros l'idée c'est de faire une jointure sur la même table,
    de grouper par refererid (GROUP BY),
    de compter les rereferid
    et ensuite de les ordonner (ORDER BY)

    mais c'est une idée de lessivée à 1h du mat' lol
     
  13. mumbly
    mumbly WRInaute discret
    Inscrit:
    23 Novembre 2005
    Messages:
    66
    J'aime reçus:
    0
    le mieux c'est de donner le nom et l'adresse de ce script pour que je regarde ca de pres
     
  14. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Vous voulez l'adresse de quoi? De la page de CODE?
     
  15. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    J'ai essayé pas mal de possibilitées en vain. Voilà le CODE :
    Code:
    <?
    include("header.inc.php");
    
    ?>
    <? $result = mysql_query("SELECT name, id, email 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]'"));
       echo"
    Affichage des valeurs
    };
    ?>
    N'arrivant toujours pas à trier par "Ref", je pensais à ceci :
    ->Créer une nouvelle valeur "nbref" dans demo_a_accounts
    ->Stocker dans cette valeur le nombre de filleuls par membre "$direkt"
    ->Et après prendre dans demo_a_accounts les valeur ID email, nbref, les lister et trier par nbref.
    Qu'en pensez-vous? Est-ce réalisable?
    Merci.
     
Chargement...
Similar Threads - Trier liste PHP Forum Date
Comment trier les visiteurs pour connaitre son taux de conversion réel? e-commerce 24 Septembre 2014
Précautions fermer un blog externe et "rapatrier" articles Débuter en référencement 25 Juin 2014
Fonction die un peu trop meurtrière Développement d'un site Web ou d'une appli mobile 1 Avril 2014
Trier les résultats - mysql Développement d'un site Web ou d'une appli mobile 7 Mai 2012
[mysql] trier les résultats d'une requête selon une table non liée à la requête Développement d'un site Web ou d'une appli mobile 15 Avril 2011
MySQL : comment grouper les entrées puis les trier ? Développement d'un site Web ou d'une appli mobile 21 Mars 2011
Google dispose-t-il d'un référentiel géographique pour trier ses résultats Référencement Google 28 Septembre 2010
Trier un array et catégoriser les infos (ou requêtes multiples ?) Développement d'un site Web ou d'une appli mobile 6 Juillet 2010
Trier un tableau en PHP Développement d'un site Web ou d'une appli mobile 9 Juin 2010
Trier un tableau par rapport à un autre Développement d'un site Web ou d'une appli mobile 5 Février 2010
Trier les backlinks d'un site en fonction d'un mot clé Débuter en référencement 5 Novembre 2009
Trier enregistrement en javascript Développement d'un site Web ou d'une appli mobile 4 Novembre 2009
Rapatrier un compte GMail sur un autre compte Google Gmail, Google Talk, Blogger et Orkut 19 Novembre 2008
2 URL pour un server.... comment trier? URL Rewriting et .htaccess 9 Octobre 2008
Comment Trier dans 2 tables? Développement d'un site Web ou d'une appli mobile 5 Octobre 2008
Filtrer ou trier les résultats d’une requête Google par date Crawl et indexation Google, sitemaps 13 Avril 2008
Analytics : plusieurs codes pour trier par secteur? Google Analytics 1 Avril 2008
Trier des données avec les tableaux Développement d'un site Web ou d'une appli mobile 31 Octobre 2006
Trier les données avec SUM() Développement d'un site Web ou d'une appli mobile 21 Juillet 2006
.HTACCESS ignoré - mettez moi le pied a l'étrier URL Rewriting et .htaccess 11 Juillet 2006