Bonjour,
J'ai un tableau que j'ai réussi à classer en y affichant quelque chose comme :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Fiche 1 : 3 fois Fiche 4 : 22 fois Fiche 7 : 2 fois Fiche 12 : 16 fois Fiche 22 : 10 fois
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Fiche 4 : 22 fois Fiche 12 : 16 fois Fiche 22 : 10 fois Fiche 1 : 3 fois Fiche 7 : 2 fois
Voici mon code :
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" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $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 />"; }
Merci d'avance.
Puis ensuite, j'aimerai aussi le limiter aux 10 premiers affichages, est-ce possible svp ?
Partager