Tableau décroissant pour galerie avec pagination

jpp78120 Messages postés 9 Statut Membre -  
jpp78120 Messages postés 9 Statut Membre -
Bonjour à tous,

Je souhaiterais pour ce code qui fonctionne très bien mais dans un ordre "bizard", afficher les vignettes, par ordre numérique décroissant, du plus grand au plus petit, le nom de mes vignettes (et images) se nommant par exemple 000.jpg, 001.jpg, 005.jpg, 013.jpg, 074.jpg, 125.jpg, etc . Le nom comportant tjrs 3 chiffres + une extension en jpg ou gif ou png mais pas de tri sur l'extension mais que sur le nom 001, 005, 013, 074, 125, etc...

Si quelqu'un peut m'aider, merci à tous, car je n'ai pas trouvé de solution.


<?php
$max_images = 36; // Nombre d'images à afficher
$break = 8;
$image_path = 'images/'; // Dossier d'images
$thumb_path = 'thumbs/'; // Dossier des miniatures
$list_ext = array('jpg', 'png','gif'); // Liste des extensions autorisées


$folder = opendir($image_path);
while($file = readdir($folder)){
$ext = explode('.', $file);
$ext = strtolower($ext[count($ext) - 1]);
if (in_array($ext,$list_ext)){
$list_images[] = $image_path . $file;
$list_thumbs[] = $thumb_path . $file;
}
}

$current_page = (!isset($_GET['page']) || empty($_GET['page'])) ? 1 : $_GET['page'];

$nb_pages = ceil(count($list_images) / $max_images);

// Affichage des images
echo'<table border="1"><tr>';
for($i = ($current_page - 1) * $max_images; $i < ($current_page - 1) * $max_images + $max_images; $i++) {
if($i < count($list_images)) {
if(file_exists($list_images[$i])) {
if($break == 8){
echo '<tr></tr>' ;
$break=0;
}
else{
$break++;
}
echo '<th><a href="'.$list_images[$i].'"><img src="'.$list_thumbs[$i].'"/></th></a>';
}
}
}


echo'</tr></table>'; {
}

// Affichage du pager
for ($i = 1 ; $i <= $nb_pages ; $i++) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=' . $i . '">' . $i . '</a> ';
}
?>
A voir également:

6 réponses

gign44 Messages postés 132 Statut Membre 5
 
Bonjour,
As-tu essayé avec la fonction de sorting ?
https://www.php.net/manual/fr/array.sorting.php
0
jpp78120 Messages postés 9 Statut Membre
 
Bonjour gign44,

J'ai essayé :
$list_images[] = arsort($image_path) . $file;
$list_thumbs[] = arsort($thumb_path) . $file;

mais je pense avoir mal placé cette instruction dans le programme.

Si cette fonction est correcte, où dois-je la placer dans le programme,
n'étant qu'un néophyte en php.

Merci de ton aide.
0
gign44 Messages postés 132 Statut Membre 5
 
Bonjour,

Tu dois directement utiliser cette fonction sur ton tableau. Laisse donc les lignes suivantes puis après cela tu effectues le tri :

$list_images[] = $image_path . $file;
$list_thumbs[] = $thumb_path . $file;

$list_images=arsort($list_images);
$list_thumbs=arsort($list_thumbs);

Cordialement
0
jpp78120 Messages postés 9 Statut Membre
 
Re,

Avec ta proposition, aucune vignette ne s'affiche.

Tu as essayé en local ?

Cdt
0
gign44 Messages postés 132 Statut Membre 5
 
Je l'ai testé sur un tableau de 2 param ;) Donc pas assez.

effectue un print_r($list_images); avant d'utiliser le fonction sort puis après.
Tu verras comment cette fonction agit sur tes tableaux,
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpp78120 Messages postés 9 Statut Membre
 
toujours en désordre !

Array ( [0] => preview/093.jpg ) 11Array ( [0] => preview/089.jpg ) 11Array ( [0] => preview/038.jpg ) 11Array ( [0] => preview/076.jpg ) 11Array ( [0] => preview/000.png ) 11Array ( [0] => preview/016.jpg ) 11Array ( [0] => preview/078.jpg ) 11Array ( [0] => preview/057.jpg ) 11Array ( [0] => preview/058.jpg ) 11Array ( [0] => preview/086.jpg ) 11Array ( [0] => preview/111.jpg ) 11Array ( [0] => preview/123.jpg ) 11Array ( [0] => preview/140.jpg ) 11Array ( [0] => preview/080.jpg ) 11Array ( [0] => preview/062.jpg ) 11Array ( [0] => preview/063.jpg ) 11Array ( [0] => preview/085.jpg ) 11Array ( [0] => preview/138.jpg ) 11Array ( [0] => preview/075.jpg ) 11Array ( [0] => preview/134.jpg ) 11Array ( [0] => preview/068.jpg ) 11Array ( [0] => preview/081.jpg ) 11Array ( [0] => preview/053.jpg ) 11Array ( [0] => preview/046.jpg ) 11Array ( [0] => preview/333.png ) 11Array ( [0] => preview/012.jpg ) 11Array ( [0] => preview/137.jpg ) 11Array ( [0] => preview/031.jpg ) 11Array ( [0] => preview/090.jpg ) 11Array ( [0] => preview/109.jpg ) 11Array ( [0] => preview/091.jpg ) 11Array ( [0] => preview/135.jpg ) 11Array ( [0] => preview/044.jpg ) 11Array ( [0] => preview/055.jpg ) 11Array ( [0] => preview/010.jpg ) 11Array ( [0] => preview/098.jpg ) 11Array ( [0] => preview/130.jpg ) 11Array ( [0] => preview/049.jpg ) 11Array ( [0] => preview/026.jpg ) 11Array ( [0] => preview/084.jpg ) 11Array ( [0] => preview/128.jpg ) 11Array ( [0] => preview/036.jpg ) 11Array ( [0] => preview/087.jpg ) 11Array ( [0] => preview/007.jpg ) 11Array ( [0] => preview/066.jpg ) 11Array ( [0] => preview/028.jpg ) 11Array ( [0] => preview/119.jpg ) 11Array ( [0] => preview/113.jpg ) 11Array ( [0] => preview/040.jpg ) 11Array ( [0] => preview/035.jpg ) 11Array ( [0] => preview/045.jpg ) 11Array ( [0] => preview/136.jpg ) 11Array ( [0] => preview/106.jpg ) 11Array ( [0] => preview/056.jpg ) 11Array ( [0] => preview/001.jpg ) 11Array ( [0] => preview/126.jpg ) 11Array ( [0] => preview/009.jpg ) 11Array ( [0] => preview/002.jpg ) 11Array ( [0] => preview/006.jpg ) 11Array ( [0] => preview/120.jpg ) 11Array ( [0] => preview/017.jpg ) 11Array ( [0] => preview/023.jpg ) 11Array ( [0] => preview/117.jpg ) 11Array ( [0] => preview/143.jpg ) 11Array ( [0] => preview/048.jpg ) 11Array ( [0] => preview/067.jpg ) 11Array ( [0] => preview/039.jpg ) 11Array ( [0] => preview/061.jpg ) 11Array ( [0] => preview/115.jpg ) 11Array ( [0] => preview/094.jpg ) 11Array ( [0] => preview/033.jpg ) 11Array ( [0] => preview/245.gif ) 11Array ( [0] => preview/014.jpg ) 11Array ( [0] => preview/030.jpg ) 11Array ( [0] => preview/021.jpg )

et plus de vignettes qui apparait
0
gign44 Messages postés 132 Statut Membre 5
 
bah tu m'étonnes, tu as une seule clé qui est zero. Ton code est faux là, tu ne l'as quand meme pas afficher dans une boucle ?
0
jpp78120 Messages postés 9 Statut Membre
 
Ce programme fonctionne bien sauf dans un affichage bizard, pas de tri, et avec 1 seule clé.
Tu peux voir ce que ça donne sur http://www.darknebulae.fr/test/test_gal_2-0.php

Ce programme est déjà issu de ce site, voir :
https://forums.commentcamarche.net/forum/affich-21212946-faire-un-tableau-pour-galerie-avec-pagination

Si tu ne peux pas m'aider davantage, merci quand même.
0