[RESOLU] Lire fichier TXT et l'afficher dans un ordre precis

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Lire fichier TXT et l'afficher dans un ordre precis

Re: Lire fichier TXT et l'afficher dans un ordre precis

par sax76 » 26 avr. 2015, 20:37

Merci à tout les deux

j'ai mis finalement "break"
et ca roule :)

(par contre je peux plus mettre resolu en haut )

Re: Lire fichier TXT et l'afficher dans un ordre precis

par Ryle » 25 avr. 2015, 20:24

Il suffit simplement de limiter le nombre d'itération de ta boucle for en jouant sur la valeur de $i_max.
Tu peux par exemple définir celui-ci ainsi : $i_max = min($i, 20);

Comme ça ta boucle s'arrête au plus petit des deux entre $i (ton nombre de résultats) et 20. Si tu as 10 résultats, il boucle 10 fois, si tu as plus de 20 résultats il ne bouclera que 20 fois au maximum,

Quant à interrompre une boucle, il faut utiliser l'instruction "break" (et non pas die :)) pour sortir immédiatement de la boucle, ou "continue" si tu veux sauter une itération et passer à la suivante sans sortir de la boucle.

Re: Lire fichier TXT et l'afficher dans un ordre precis

par tof73 » 25 avr. 2015, 18:19

if($i_max > 20)[
$i_max=20;
}
for($i = 0; $i < $i_max; $i++){

Re: Lire fichier TXT et l'afficher dans un ordre precis

par sax76 » 25 avr. 2015, 18:17

j'ai fais ceci , ca marche mais est ce propre ?

Code : Tout sélectionner

if ($pos == 20) { echo '</tr>'; die() ; } $pos++ ; } echo '</table>';

Re: Lire fichier TXT et l'afficher dans un ordre precis

par sax76 » 25 avr. 2015, 18:00

un petit detail me chagrine sur l'affichage
la base fait par ex 40 lignes j'affiche donc les 40 lignes
comment bloquer à 20 par ex

Code : Tout sélectionner

echo '<table>'; for($i = 0; $i < $i_max; $i++){ echo '<tr>'; echo ''.$pos.' '.$tb_nom[$i].' '.$tb_total[$i].'<br>'; if ($pos == 20) { echo '</tr>' ; } $pos++ ; } echo '</table>';
j'ai fais ca mais impossible d'affiche que 20 lignes :(

Re: Lire fichier TXT et l'afficher dans un ordre precis

par sax76 » 25 avr. 2015, 16:39

Code : Tout sélectionner

array_multisort($tb_total , SORT_DESC ,$tb_nom);
resolu ca marche merciiiiiiiiiiiiiiiiiiiiii

Re: Lire fichier TXT et l'afficher dans un ordre precis

par tof73 » 25 avr. 2015, 16:33

voir : Exemple #3 Classer les résultats d'une base de données dans
http://php.net/manual/fr/function.array-multisort.php
il faut donc avoir un seul tableau dans la boucle fgetcsv et non 2.

Lire fichier TXT et l'afficher dans un ordre precis

par sax76 » 25 avr. 2015, 15:42

bonjour à tous ,

j'essai de faire un système qui marche sous base de fichier txt

le fichier txt se présente sous cette forme :

@anom1;;5
@cnom2;;3
@nnom3;;8
@hnom4;;4
@enom5;;1
......................

j'utilise ce code pour le lire et l'afficher :

Code : Tout sélectionner

$handle = fopen('@@BDD.txt', 'r'); $tb_nom = array(); $tb_total = array(); $i = 0; while(($data = fgetcsv($handle, 1000, ';;')) !== FALSE){ $tb_nom[$i] = $data[0]; $tb_total[$i] = $data[2]; $i++; } $i_max = $i; fclose($handle); array_multisort($tb_nom, $tb_total); echo "<table>"; for($i = 0; $i < $i_max; $i++){ echo "<tr>"; echo ' '.$tb_nom[$i].' '.$tb_total[$i].'<br>'; echo "</tr>"; } echo "</table>";
il affiche le fichier brut et par ordre alphabetique :

anom1 == > 5
cnom2 ==> 3
enom3 ==> 1
hnom4 ==> 4
nnom5 ==> 8


je voudrais afficher selon le nombre en ordre décroissant et avoir :

nom3 ==> 8
nom1 ==> 5
nom4 ==> 4
nom2 ==> 3
nom5 ==> 1


comment procédé sachant que ce chiffre change régulièrement

cdt PAscal