Titre: Comment trier un tableau après l'avoir dédoublonné ?
Posté par: sanddy le le 26-02-2009 a 11:47:00
Bonjour,
J'ai un tableau que j'ai réussi à classer en y affichant quelque chose comme :
Code:
Fiche 1 : 3 fois Fiche 4 : 22 fois Fiche 7 : 2 fois Fiche 12 : 16 fois Fiche 22 : 10 fois |
|
C'est le champs "page" qui me permet d'afficher le terme "Fiche x". Par contre, c'est grâce à array_count_values que je peux calculer le nombre de fois que la requete me l'a sorti.
Maintenant que ça s'affiche bien, je voudrais pouvoir classer ces fiches par le nombre de fois qu'elles apparaissent en décroissant... j'ai testé usort mais j'y arrive pas...
Je voudrais que ça devienne :
Code:
Fiche 4 : 22 fois Fiche 12 : 16 fois Fiche 22 : 10 fois Fiche 1 : 3 fois Fiche 7 : 2 fois |
|
Voici mon code :
Code:
$quer1 = "SELECT * FROM matable WHERE (date <= '".$datf."' OR date LIKE '".$datf."%') AND (date >= '".$datd."' OR date LIKE '".$datd."%') ORDER BY page ASC ";
$resulta1 = mysql_query($quer1) or die(mysql_error());
while ($do = mysql_fetch_assoc($resulta1)) { $tab[] = $do['page']; }
$a=array_count_values($tab); //$tab = array_unique ($tab); //rsort($tab, SORT_REGULAR); //print_r($a);
foreach ($a as $t => $nb) { echo $t." : ".$nb." fois<br />"; }
|
|
Quelle fonction puis-je utiliser pour trier ce tableau qui a déjà été dédoublonné et que ça m'affiche "Fiche x : xxx fois" ?
Merci d'avance.
Puis ensuite, j'aimerai aussi le limiter aux 10 premiers affichages, est-ce possible svp ? |
Titre: Re:Comment trier un tableau après l'avoir dédoublonné ?
Posté par: sanddy le le 26-02-2009 a 14:09:22
Je voulais me faire à l'idée d'essayer de faire avec les tableaux pour mieux m'y connaître mais c'était galère et c'est vrai qu'en faisant simplement une requête sql, ça m'a permis de réussir à faire ce que je voulais...
Code:
$quer1 = "SELECT COUNT(*) AS nb, page FROM matable WHERE (date <= '".$datf."' OR date LIKE '".$datf."%') AND (date >= '".$datd."' OR date LIKE '".$datd."%') GROUP BY page ORDER BY nb DESC LIMIT 10";
$resulta1 = mysql_query($quer1) or die(mysql_error()); |
|
Bref, bonne journée ;) ++++
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|