Bonjour,
je cherche a lister des fichier d'un répertoire avec une pagination.
le code suivant fonctionne au niveau pagination mais quand je dit par exemple 5 maximum par page et bien j'en n'ai 3 si je mets 4 et bien je n'ai pas 2 mais 5 enfin rien de normal ....
Merci d'avance pour votre aide
je cherche a lister des fichier d'un répertoire avec une pagination.
le code suivant fonctionne au niveau pagination mais quand je dit par exemple 5 maximum par page et bien j'en n'ai 3 si je mets 4 et bien je n'ai pas 2 mais 5 enfin rien de normal ....
<?
// On indique au script ou se trouve les images a lister par rapport a l emplacement de ce script
$dir = opendir("uploads/audio/club/".$_GET["id"]."/");
// remplacer 10 par le nombre d'images par page souhaité
$nbimages = 6;
// On donne le nom du dossier ou sont présente les images par rapport au script en précisant l extension des fichier à lister
$images_sur_le_serveur = glob("uploads/audio/club/".$_GET["id"]."/*.mp3");
// On compte le nombre d image
$combien_d_images_sur_le_serveur = count($images_sur_le_serveur);
// On déclare la pagination
$pagei = isset($_GET['pagei']) ? intval($_GET['pagei']) : 1;
if ($_GET['pagei'] == "") { $_GET['pagei'] = 1; }
$debut = ($_GET['pagei'] - 1) * $nbimages;
$i = $debut;
$j = 1;
while ($Fichier = readdir($dir))
{
$files[] = $Fichier;
}
while ($i >= $debut and $j <= $nbimages)
{
if ( $files[$i] != ".." && $files[$i] != "." && $files[$i] != "" && ereg("(.mp3)",$files[$i]) )
{
echo "<tr>";
echo "<td><div style=\"text-align: left\"><a href='uploads/audio/club/".$_GET["id"]."/'.$files[$i].''>";
echo $files[$i];
echo '</a></div></td>';
echo "<tr>";
}
$i++;
$j++;
}
$derniere_page = ceil($combien_d_images_sur_le_serveur / $nbimages);
if ($pagei > 1) {
echo '<a href="?page=club-sets&id='.$_GET["id"].'" ><span>Début</span></a> <a href="?page=club-sets&id='.$_GET["id"].'&pagei=' . ($pagei - 1) . '" ><span>Précédent</span></a>';
}
// MAX_NB_PAGE est égal au nombre de lien vers les pages a afficher au maximum (ex: pour 10 pages a afficher il y aura <<<< - 1 - 2 - 3 - 4 - 5 - 6 - >>>>)
define('MAX_NB_PAGES', 5); // Nombre maximal de pages apparaissant pour la navigation
for ($i = max(1, min(max($pagei - MAX_NB_PAGES / 2, 1), $derniere_page - MAX_NB_PAGES)), $j = 0; $j <= MAX_NB_PAGES && $i <= $derniere_page; $i++, $j++) {
if ($i == $pagei) {
if ($pagei > 1) {echo ' '; }
echo '<span > ' . $i . ' </span>';
} else {
echo ' <a href="?page=club-sets&id='.$_GET["id"].'&pagei=' . $i . '"><span>' . $i . '</span></a>';
}
}
if ($pagei < $derniere_page) {
echo ' <a href="?page=club-sets&id='.$_GET["id"].'&pagei=' . ($pagei + 1) . '" ><span>Suivant</span></a> <a href="?page=club-sets&id='.$_GET["id"].'&pagei=' . ($derniere_page) . '" ><span >Fin</span></a>';
}
echo '</p>';
closedir($dir);
?>
Merci d'avance pour votre aide