Bonjour à tous !
Je lis un fichier texte qui contient les données comme suis :
J'arrive à faire du traitement sur ces données en les affichants sous forme de graphique avec Artichow. ( les données vont par 4 : Nom du poste, nombre d'octet libre, nombre total d'octets et nombre total d'octets libre disponibles )CNITC15NPE
Nombre total d'octets libres : 1000000000
Nombre total d'octets : 32210161664
Nombre total d'octets libres disponibles : 14699315200
CNITC15NPE
Nombre total d'octets libres : 20000000000
Nombre total d'octets : 113632239616
Nombre total d'octets libres disponibles : 92581924864
CNITC15NPE
Nombre total d'octets libres : 14699315200
Nombre total d'octets : 32210161664
Nombre total d'octets libres disponibles : 14699315200
CNITC15NPE
Nombre total d'octets libres : 92581924864
Nombre total d'octets : 113632239616
Nombre total d'octets libres disponibles : 92581924864
Cependant, j'aimerais trier ces enregistrements. J'ai alors pensé à mettre chaque ligne du fichier dans un tableau puis faire du traitement 4 lignes par 4 lignes en les modifiant ( pour garder uniquement le nom de pc et les nombre d'octets sans la phrase qui les précede )
A savoir que ceci affiche :
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
26 if(isset($_GET['choix2'])) { $tableau = file('fichier.txt'); // On compte le nombre de lignes du fichier $nbr = count($tableau); $ligne=0; while($ligne<$nbr) { $tab[$ligne] = array ( 'Station'=>$tableau[$ligne], 'Espace libre'=>substr($tableau[$ligne+1],43), 'Espace total'=>substr($tableau[$ligne+2],43), 'pourcentage'=>((substr($tableau[$ligne+1],43)*100)/(substr($tableau[$ligne+2],43))), ); $ligne = $ligne+4; } foreach($tab as $cle=>$valeur) { foreach($valeur as $cle2=>$valeur2) echo $cle2.' : '.$valeur2.'<br>'; echo "<br>"; } }
J'essaie tant bien que mal de trier ce tableau en fonction de la colonne pourcentage du plus grand au plus petit. Mais rien à faire je n'y arrive pas. A vrai dire j'ai essayé array_multisort() et asort() -> http://nl2.php.net/manual/fr/array.sorting.php
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 Station : CNITC15XFD Espace libre : 14699315200 Espace total : 32210161664 pourcentage : 45.635645524961 Station : CNITC15ASE Espace libre : 92581924864 Espace total : 113632239616 pourcentage : 81.475050722281 Station : CNITC15TFG Espace libre : 1000000000 Espace total : 32210161664 pourcentage : 3.1046103103471 Station : CNITC15CAD Espace libre : 20000000000 Espace total : 113632239616 pourcentage : 17.600638751455 Station : CNITC15ASR Espace libre : 14699315200 Espace total : 32210161664 pourcentage : 45.635645524961
mais rien à faire. Je ne sais pas trop quelle fonction utiliser dans mon cas.
Des idées pour m'aiguiller sur la bonne fonction ?
Bien cordialement.
Partager