|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Mer Avr 26, 2006 0:29 Sujet du message: Trier une liste en PHP |
|
|
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>";
};
};
?> |
|
|
| |
|
 |
dd32 Modérateur

Inscrit le: 09 Sep 2005 Messages: 3076 Localisation: Witamine d'abord !
|
Posté le : Mer Avr 26, 2006 0:38 Sujet du message: Trier une liste en PHP |
|
|
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...
Commence par calculer le nombre_total_filleul par id membre et ensuite tu fais un order by nombre_total_filleul ?? |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Mer Avr 26, 2006 0:47 Sujet du message: Trier une liste en PHP |
|
|
Voici le schéma de la table :
| Citation: |
| Commence par calculer le nombre_total_filleul par id membre |
Comment faire? Merci. |
|
| |
|
 |
mumbly WRInaute discret

Inscrit le: 23 Nov 2005 Messages: 70
|
Posté le : Mer Avr 26, 2006 0:53 Sujet du message: Trier une liste en PHP |
|
|
Il faudrait inserer je pense
ORDER BY ref DESC
derriere
WHERE id='$myrow[1]' |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Mer Avr 26, 2006 0:56 Sujet du message: Trier une liste en PHP |
|
|
| Non, ça ne marche pas, ça n'affiche pas d'erreur, amis ce n'est pas trier. |
|
| |
|
 |
mumbly WRInaute discret

Inscrit le: 23 Nov 2005 Messages: 70
|
Posté le : Mer Avr 26, 2006 1:06 Sujet du message: Trier une liste en PHP |
|
|
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 |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Mer Avr 26, 2006 1:10 Sujet du message: Trier une liste en PHP |
|
|
Non, ça ne marche pas, ça affiche cette erreur :
| Citation: |
| Ref Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in liste-parrains.php on line 338 |
|
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Mer Avr 26, 2006 1:11 Sujet du message: Trier une liste en PHP |
|
|
La ligne 338 est la ligne suivante :
| Citation: |
| while ($myrow = mysql_fetch_row($result)){ |
|
|
| |
|
 |
dd32 Modérateur

Inscrit le: 09 Sep 2005 Messages: 3076 Localisation: Witamine d'abord !
|
Posté le : Mer Avr 26, 2006 1:19 Sujet du message: Trier une liste en PHP |
|
|
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... |
|
| |
|
 |
mumbly WRInaute discret

Inscrit le: 23 Nov 2005 Messages: 70
|
Posté le : Mer Avr 26, 2006 1:27 Sujet du message: Trier une liste en PHP |
|
|
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) |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Mer Avr 26, 2006 1:31 Sujet du message: Trier une liste en PHP |
|
|
Non ça ne marche toujours pas. Le message d'erreur est le suivant :
| Citation: |
| Ref Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in liste-parrains.php on line 338 |
|
|
| |
|
 |
dd32 Modérateur

Inscrit le: 09 Sep 2005 Messages: 3076 Localisation: Witamine d'abord !
|
Posté le : Mer Avr 26, 2006 1:35 Sujet du message: Trier une liste en PHP |
|
|
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 |
|
| |
|
 |
mumbly WRInaute discret

Inscrit le: 23 Nov 2005 Messages: 70
|
Posté le : Mer Avr 26, 2006 8:59 Sujet du message: Trier une liste en PHP |
|
|
| le mieux c'est de donner le nom et l'adresse de ce script pour que je regarde ca de pres |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Mer Avr 26, 2006 9:08 Sujet du message: Trier une liste en PHP |
|
|
| Vous voulez l'adresse de quoi? De la page de CODE? |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Ven Avr 28, 2006 15:54 Sujet du message: Trier une liste en PHP |
|
|
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. |
|
| |
|
 |
| |
|
|