Bonjour,
Je recupere de ma base de donnees les valeurs suivantes :
28:5:12021
29:4:19022
30:5:12025
J'aimerai les trier de sorte a obtenir 30, 28, 29.
J'explique le resultat :
Je trie d'abord en fonction de la deuxieme valeur et si deux valeurs sont egales je regarde la troisieme valeurs pour determiner le plus grand.
Pour l'instant j'arrive a faire un trie sur la deuxieme valeur uniquement, mais ensuite je bloque :
Qq'un aurait-il une idee plz ?
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
17
18
19
20
21
22
23
24
25 $tabesp=explode(" ",$result); $tabvaleur = array(); for($j=0;$j<sizeof($tabesp);$j++){ $decomp=explode(":",$tabesp[$j]); IF(!empty($tabesp[$j])){ //--- Si c'est pas vide $ID_ENR = $decomp[0]; $OCCURENCE= $decomp[1]; $NUM= $decomp[2]; if (array_key_exists($ID_ENR,$tabvaleur)){ $tabvaleur[$ID_ENR] = $tabvaleur[$ID_ENR] + $OCCURENCE; } else { $tabvaleur[$ID_ENR] = $OCCURENCE; } } } arsort($tabvaleur);
D'avance Merci
Partager