CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Affichage liste d'image

viper21328
viper21328
Niveau 2
14 mars 2016 à 19:33:30

Bonjour,

Voilà, j'ai un script qui me permet d'afficher toutes les miniatures d'un dossier et il marche très bien !

<?php
//on déclare un tableau qui contiendra le nom des fichiers de nos miniatures
$tableau = array();
// on ouvre notre dossier contenant les photos
$dossier = opendir ('C:/xampp/htdocs/rs-altitude/pics/');
while ($fichier = readdir ($dossier))
{if ($fichier != '.' && $fichier != '..' && $fichier != 'albumsphotos.php')
// on stocke le nom des fichiers des miniatures dans un tableau
{$tableau[] = $fichier;}}
closedir ($dossier);

// on défini le nombre de colonne sur lesquelles vont s'afficher nos miniatures
$nbcol=3;
// on compte le nombre de miniatures
$nbpics = count($tableau);

// si on a au moins une miniature, on les affiche toutes
if ($nbpics != 0)
{echo '<table>';
for ($i=0; $i<$nbpics; $i++){
if($i%$nbcol==0) echo '<tr>';
// pour chaque photo, on affiche la miniature munie d'un lien vers la photo en taille réelle
echo '<td id="galerieimg"><a class="example-image-link" href="pics/' , $tableau[$i] , '" data-lightbox="example-set" data-title="Click the right half of the image to move forward."><img class="example-image" src="mini.php?f=' , $tableau[$i] , '" alt="Image" /></a></td>';
if($i%$nbcol==($nbcol-1)) echo '</tr>';}
echo '</table>';}

// si on a aucune miniature, on affiche un petit message
else echo 'Aucune image à afficher';
?>

Ce qui me dérange par contre c'est le fait qu'il m'affiche toute les miniatures sur une seul page et donc que le chargement et très lourd ! Je vous demande donc si vous savez comment afficher un certain nombre d'image et après passer à une autre page.

Merci d'avance de vos réponse et bonne soirée ! viper 21328

UnTrucDeOufOuf
UnTrucDeOufOuf
Niveau 7
14 mars 2016 à 20:24:19

http://antoine-herault.developpez.com/tutoriels/php/pagination-automatique-en-php/
http://www.commentcamarche.net/faq/20420-php-pagination
http://www.petit-kiwi.com/php-creation-pagination-avancee

viper21328
viper21328
Niveau 2
14 mars 2016 à 21:58:53

Merci de la réponse, je vais de suite consulter les pages !

viper 21328

viper21328
viper21328
Niveau 2
14 mars 2016 à 22:36:33

Me revoilà, j'ai donc bien plusieurs pages avec ce script car j'ai plus de 16 images, mais il m'affiche quand même toute mes images dans une page et c'est pareille pour toute les pages. Comment faire pour bloquer le nombre d'image par page, s'il-vous-plaît ?

viper 21328

<?php
//on déclare un tableau qui contiendra le nom des fichiers de nos miniatures
$tableau = array();
// on ouvre notre dossier contenant les photos
$dossier = opendir ('C:/xampp/htdocs/rs-altitude/pics/');
while ($fichier = readdir ($dossier))
{if ($fichier != '.' && $fichier != '..' && $fichier != 'albumsphotos.php')
// on stocke le nom des fichiers des miniatures dans un tableau
{$tableau[] = $fichier;}}
closedir ($dossier);

// on défini le nombre de colonne sur lesquelles vont s'afficher nos miniatures
$nbcol=4;
// on compte le nombre de miniatures
$nbpics = count($tableau);

// si on a au moins une miniature, on les affiche toutes
if ($nbpics != 0)
{echo '<table>';
for ($i=0; $i<$nbpics; $i++){
if($i%$nbcol==0) echo '<tr>';
// pour chaque photo, on affiche la miniature munie d'un lien vers la photo en taille réelle
echo '<td id="galerieimg"><a class="example-image-link" href="pics/' , $tableau[$i] , '" data-lightbox="example-set"><img class="example-image" src="mini.php?f=' , $tableau[$i] , '" alt="Image" /></a></td>';
if($i%$nbcol==($nbcol-1)) echo '</tr>';}
echo '</table>';}

// si on a aucune miniature, on affiche un petit message
else echo 'Aucune image à afficher';

$imagesParPage=16; //Nous allons afficher 16 images par page.

//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($nbpics/$imagesParPage);

if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle=intval($_GET['page']);

if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle=$nombreDePages;
}
}
else // Sinon
{
$pageActuelle=1; // La page actuelle est la n°1
}

$premiereEntree=($pageActuelle-1)*$imagesParPage; // On calcul la première entrée à lire

echo '<p id="texte2" align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo ' [ '.$i.' ] ';
}
else //Sinon...
{
echo ' <a href="albumsphotos.php?page='.$i.'">'.$i.'</a> ';
}
}
echo '</p>';
?>

viper21328
viper21328
Niveau 2
15 mars 2016 à 16:58:38

Bonjour Utarwyn,

j'ai un problème avec le code que vous m'avez envoyé,
il me dit "Notice: Undefined variable: nbpics in C:\xampp\htdocs\RS-ALTITUDE\albumsphotos.php on line 59"
voilà, merci d'avance de votre réponse et je vais chercher de mon côté !

viper21328

Message édité le 15 mars 2016 à 16:59:11 par viper21328
viper21328
viper21328
Niveau 2
17 mars 2016 à 21:41:51

C'est bon, le topic est résolu !

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment