[PHP] boucle while et opendir
Résolu
juloo6578
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
the_animal Messages postés 69 Date d'inscription Statut Membre Dernière intervention -
the_animal Messages postés 69 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite ajouter un bouton 'page suivante' pour éviter que les pages soient trop lourdes.
J'affiche le résultat de la fonction opendir et readdir grâce à la boucle while :
J'aimerais ajouter le bouton page suivante pour n'afficher que 20 images à la fois.
Merci.
Je souhaite ajouter un bouton 'page suivante' pour éviter que les pages soient trop lourdes.
J'affiche le résultat de la fonction opendir et readdir grâce à la boucle while :
$dossier=opendir("dossier/"); while ($fichier = readdir($dossier)) { if($fichier != '.' && $fichier != '..' && $fichier != 'index.php') { echo '<img src="dossier/'.$fichier.'" title="image" />'; } }
J'aimerais ajouter le bouton page suivante pour n'afficher que 20 images à la fois.
Merci.
A voir également:
- [PHP] boucle while et opendir
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Pc qui s'allume et s'éteint en boucle - Forum Virus
8 réponses
Bonsoir,
ça s'appel une pagination et c'est plutôt complexe à réaliser et encore plus à poster...
Voci un lien qui je l'espère ne sera pas supprimé et qui correspond à votre attente http://forum.creer-un-site.fr/creer-un-site-587-probleme-pagination-galerie#p4713
Dans le code, il faut supprimer la première variable
puis ensuite remplacer $adresse-normal par $adresse_miniature dans la suite du code.
ça s'appel une pagination et c'est plutôt complexe à réaliser et encore plus à poster...
Voci un lien qui je l'espère ne sera pas supprimé et qui correspond à votre attente http://forum.creer-un-site.fr/creer-un-site-587-probleme-pagination-galerie#p4713
Dans le code, il faut supprimer la première variable
$adresse_normal = "galerie-images/normal/";
puis ensuite remplacer $adresse-normal par $adresse_miniature dans la suite du code.
Bonjour,
voici un petit code que j'ai modifié depuis votre code, peut être la solution à votre problème:
pour appeler la page suivante, on ajoute un paramètre get , page=1 ou 2 ou ...
Bonne continuation.
voici un petit code que j'ai modifié depuis votre code, peut être la solution à votre problème:
<?php $dossier=opendir("dossier/"); $file_list= scandir("dossier/"); //définition du nombre d'images à afficher par page $nb_affichage=20; //filtrer les fichiers à afficher $file_list=array_filter($file_list, function ($element) { return ($element != '.' && $element!='..' && $element!='index.php'); } ); //page suivante appelé par la methode GET ex: ?page=1 $page =(isset($_GET['page'])) ? $_GET['page'] : 0; $file_list=array_chunk($file_list,$nb_affichage); var_dump($file_list); for($i = 0; $i<$nb_affichage;$i++) { if(isset($file_list[$page][$i])) echo '<img width="100" height="100" src="dossier/'.$file_list[$page][$i].'" title="image" />'; } ?>
pour appeler la page suivante, on ajoute un paramètre get , page=1 ou 2 ou ...
Bonne continuation.
Merci beaucoup pour votre soutient !!
Je n'ais pas très bien compris cette ligne :
$file_list = array_filter($file_list, function ($element) {
return ($element != '.' && $element!='..' && $element!='index.php');
});
Apparemment vous créez une fonction ?
En tout cas elle engendre une erreur...
Je n'ais pas très bien compris cette ligne :
$file_list = array_filter($file_list, function ($element) {
return ($element != '.' && $element!='..' && $element!='index.php');
});
Apparemment vous créez une fonction ?
En tout cas elle engendre une erreur...
array_filter sert à filtrer l'array précedemment créé, j'ai enlevé dans cet array les repertoires "." et ".." ainsi que l'index.php.
mets cela en une seule ligne.
mets cela en une seule ligne.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionParse error: syntax error, unexpected T_FUNCTION in /data/filer-6/web/web507/htdocs/upload/gallerie.php on line 11
Apparemment ton version de php ne permet pas d'utiliser ce code, utilises ceci:
<?php $dossier=opendir("dossier/"); $file_list= scandir("dossier/"); //définition du nombre d'images à afficher par page $nb_affichage=5; //filtrer les fichiers à afficher function callback($element) { return ($element != '.' && $element!='..' && $element!='index.php'); } $file_list=array_filter($file_list, "callback"); //page suivante appelé par la methode GET ex: ?page=1 $page =(isset($_GET['page'])) ? $_GET['page'] : 0; $file_list=array_chunk($file_list,$nb_affichage); for($i = 0; $i<$nb_affichage;$i++) { if(isset($file_list[$page][$i])) echo '<img width="100" height="100" src="dossier/'.$file_list[$page][$i].'" title="image" />'; } ?>