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 :

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);
Qq'un aurait-il une idee plz ?

D'avance Merci