[RESOLU] Array et tri (array_multisort)

Petit nouveau ! | 3 Messages

09 déc. 2013, 20:22

Bonjour à tous,

Je souhaite trier un tableau du plus petit au plus grand ou inversement. J'ai lu beaucoup de choses, j'ai essayé array_multisort mais je n'arrive pas à obtenir le résultat escompté.

Voici le début de mon array (qui comporte entre 5 et 30 résultats suivant les résultats)

Code : Tout sélectionner

array (size=42) 0 => array (size=8) 'CodeClient' => string 'C016A' (length=5) 'Nom' => string 'PaulD' (length=16) 'FacEMail' => string '[email protected]' (length=26) 'DateCarteFidelite' => string '06/05/2011' (length=10) 'LastVente' => string '06/05/2011' (length=10) 'TotalPassage' => string '1' (length=1) 'TotalCA' => string '80,15' (length=5) 'TotalRemise' => string '0,00' (length=4) 1 => array (size=8) 'CodeClient' => string 'C0162' (length=5) 'Nom' => string 'ma-ma' (length=10) 'FacEMail' => string '[email protected]' (length=21) 'DateCarteFidelite' => string '04/05/2011' (length=10) 'LastVente' => string '19/05/2011' (length=10) 'TotalPassage' => string '1' (length=1) 'TotalCA' => string '31,20' (length=5) 'TotalRemise' => string '0,00' (length=4) 2 => array (size=8) 'CodeClient' => string 'C016F' (length=5) 'Nom' => string 'Pierre' (length=10) 'FacEMail' => string '[email protected]' (length=21) 'DateCarteFidelite' => string '14/05/2011' (length=10) 'LastVente' => string '14/05/2011' (length=10) 'TotalPassage' => string '1' (length=1) 'TotalCA' => string '164,00' (length=6) 'TotalRemise' => string '0,00' (length=4)
je souhaiterais trier par TotalCA. j'ai essayé
	foreach ($ListeClient as $key => $row) {
		$TotalCA[$key]  = $row['TotalCA'];
		$TotalRemise[$key] = $row['TotalRemise'];
	}
puis
array_multisort($TotalCA, SORT_NUMERIC, SORT_ASC, $TotalRemise, SORT_ASC, $ListeClient);
le probleme s'effectue sur les milliers puis sur les dizaines puis les centaines. Le résultat obtenu est : 1650 > 1880 > 20 > 135 > 283 > 450... Bref il trie pas dans le bon ordre. Je ne vois pas trop comment faire. Merci

ViPHP
xTG
ViPHP | 7331 Messages

09 déc. 2013, 21:28

Juste comme ça, tes données ne viendraient pas d'une requête SQL ?

Petit nouveau ! | 3 Messages

09 déc. 2013, 21:46

Je construis ce tableau au fur et à mesure puisque j'ai plusieurs fonctions qui vont me générer les valeurs (une qui calcule le CA par client, une le nombre de passage etc...)
A la base c'est une base access (pas le choix, je suis tributaire de çà).

Invité
Invité n'ayant pas de compte PHPfrance

10 déc. 2013, 02:34

Bon, à force de me triturer le cerveau j'ai trouvé !
C'est tout bête mais dans ma BDD les nombres en milliers sont stockés sous la forme 1 000 avec un espace entre le chiffre des milliers et celui des centaines... (pas de ma faute, la BDD et constituée comme çà et mon appli ne faire que lire les données)