Problème avec boucle
aviateur39
Messages postés
7
Statut
Membre
-
aviateur39 Messages postés 7 Statut Membre -
aviateur39 Messages postés 7 Statut Membre -
Bonjour,
J'ai ce script php qui permet de lire toutes les données dans un fichier de format txt... je souhaiterai aller lire les 10 dernières entrées du fichier, donc lire la dernière et remonter... je pense qu'il me faut insérer une formule du type for et while, j'ai fait plusieurs essais sans toutefois y arriver j'ai des erreurs du type Parse error: syntax error, unexpected '}', expecting T_WHILE in ...
voici le script qui lit mes données sans la boucle car cela ne marche pas...
*********************************************
<HTML>
<body>
<?php
$ouvre=fopen("../data/derniersmembres.txt","r"); // ouverture du fichier
while (!feof ($ouvre)) // tant que pas en fin de fichier
{
$lecture = fgets($ouvre, 4096); // stockage dans $lecture
$donnee=explode("*",$lecture); // parsing des données basé sur "*")
$combien=count($donnee)-1; // nbre d'éléments séparés par "*"
for ($i=0;$i<=$combien;$i++)
{
echo $donnee[$i],"<br>"; // affichage des données
}
}
fclose($ouvre); // fermeture
?>
</body>
</HTML>
***********************************************
Donc ce petit script de lecture fonctionne bien tel quel... Si quelqu'un sur le forum peut m'aider pour insérer une boucle qui irait lire les 5 ou 10 dernières lignes (qui représentent les 5 ou 10 derniers membres inscrit sur le portail de l'association, je suis à l'écoute ...
D'avance merci pour l'aide éventuelle qui pourrait venir de l'un de vous qui est féru en la matière...
Bonne fin de journée à tous...
J'ai ce script php qui permet de lire toutes les données dans un fichier de format txt... je souhaiterai aller lire les 10 dernières entrées du fichier, donc lire la dernière et remonter... je pense qu'il me faut insérer une formule du type for et while, j'ai fait plusieurs essais sans toutefois y arriver j'ai des erreurs du type Parse error: syntax error, unexpected '}', expecting T_WHILE in ...
voici le script qui lit mes données sans la boucle car cela ne marche pas...
*********************************************
<HTML>
<body>
<?php
$ouvre=fopen("../data/derniersmembres.txt","r"); // ouverture du fichier
while (!feof ($ouvre)) // tant que pas en fin de fichier
{
$lecture = fgets($ouvre, 4096); // stockage dans $lecture
$donnee=explode("*",$lecture); // parsing des données basé sur "*")
$combien=count($donnee)-1; // nbre d'éléments séparés par "*"
for ($i=0;$i<=$combien;$i++)
{
echo $donnee[$i],"<br>"; // affichage des données
}
}
fclose($ouvre); // fermeture
?>
</body>
</HTML>
***********************************************
Donc ce petit script de lecture fonctionne bien tel quel... Si quelqu'un sur le forum peut m'aider pour insérer une boucle qui irait lire les 5 ou 10 dernières lignes (qui représentent les 5 ou 10 derniers membres inscrit sur le portail de l'association, je suis à l'écoute ...
D'avance merci pour l'aide éventuelle qui pourrait venir de l'un de vous qui est féru en la matière...
Bonne fin de journée à tous...
A voir également:
- Problème avec boucle
- Vlc lecture en boucle ✓ - Forum Lecteurs et supports vidéo
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Huawei s'allume et s'éteint en boucle - Forum Huawei
- Problème xiaomi redmi note 8t s'allume et s'éteint vibre - Forum Xiaomi
2 réponses
Salut,
Je ne sais pas trop comment est rédigé ton fichier derniersmembres.txt mais bon, j'ai une solution pour toi qui peut surement s'adapter à tes besoins.
Si tu as des questions, n'hésite pas !
Je ne sais pas trop comment est rédigé ton fichier derniersmembres.txt mais bon, j'ai une solution pour toi qui peut surement s'adapter à tes besoins.
<?php
$fichier = file('../data/derniersmembres.txt');
$nbr_lignes_fichier = count($fichier);
$i = '0';
foreach ( $fichier as $ligne ) {
if ( $i >= $nbr_lignes_fichier - 10 ) {
echo $ligne.'<br />';
}
$i++;
}
?>
Si tu as des questions, n'hésite pas !
Tu peux aussi faire ça en "inversant" la boucle for() :
<?php
$ouvre=fopen("txt.txt","r");
while(!feof ($ouvre))
{
$lecture = fgets($ouvre, 4096);
$donnee=explode("*",$lecture);
$combien=count($donnee)-1;
for($i=$combien;$i>$combien-10;$i--) //on lit de là fin et on remonte //jusqu'à la 10ème donnée en partant de la fin
{
echo $donnee[$i],"<br>";
}
}
fclose($ouvre);
?>
Merci à tous sur le forum pour l'aide apportée
Bonne journée à tous!