Pb gestion galerie PHP

Résolu
flo74700 Messages postés 1850 Date d'inscription   Statut Membre Dernière intervention   -  
flo74700 Messages postés 1850 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je post pour la première fois sur ce forum, car j'ai un soucis au niveau de la gestion de la galerie.
En gros pour simplifier, j'ai une pagination automatique qui dit qu'au bout de 16 photo je crée une nouvelle page.
C'est image son stockées dans un tableau.
Si le nombre de photo (nbpics) dépasse 16, je crée un lien en bas qui redirige vers la page=2.

Je recupéré la valeur 2 avec le get, et je traite de facon à ce qui recommence à la bonne image.
Mais mon problème est que dans tout les cas il effectue le tableau de la valeur de I debut que je lui est donné, jusqu'à +16.
Donc si j'ai 32 photos, il n'y à pas de soucis, il va me créer 2 pages.
Mais si j'ai par exemple 22 photos, il va créer 2 pages, 1 pleine de 16 images, et l'autre de 6 images. Il y aura ensuite 10 liens erreur vers des images inexistante (vu qu'elle n'existe pas).

Mon problème est que je voudrais qu'il s'arrete à 6 par exemple : 22 images donc 1 pages pleines de 16 images et la page 2 avec seulement 6 images.
Voila le passage du code qui nous interresse. Avez vous une solution à ce problème?
[CODE]/ On test
if(isset($_GET['page'])) {
if($_GET['page'] < 2) { $debut = 0; $fin = 15; }
else
// On donne une valeur a $debut
{$debut = ($_GET['page'] - 1) * 16 - 1;
// On donne une valeur à $fin
$fin = $debut + 16;}}

// 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);

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

// si on a au moins une miniature, on les affiche toutes
if ($nbpics != 0) {
echo '<table align=center>';
for ($i=$debut; $i<=$fin; $i++){
if($i%$nbcol==0) echo '<tr>'; /CODE
Configuration: Windows XP
Firefox 3.0.6

9 réponses

  1. le père
     
    Bonjour

    Il suffit de corriger la valeur de ta variable $fin :
    if ($fin >= count($tableau) fin= count($tableau=-1;
    0
  2. le père
     
    Pardon, je suis très distrait ce matin
    if ($fin >= count($tableau)) $fin= count($tableau)-1;
    0
  3. flo74700 Messages postés 1850 Date d'inscription   Statut Membre Dernière intervention   243
     
    le problème est qu'il va m'afficher le images de l'indice i debut, jusqu'au dernier indice i fin.

    et mio je veux pouvoir lui dire, que i fin = i debut + nombre di'mage restante.
    0
  4. le père
     
    C'est bien ce que fait mon code, non ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. flo74700 Messages postés 1850 Date d'inscription   Statut Membre Dernière intervention   243
     
    non il va jusqu'à la fin du tableau dans ton cas.
    0
  7. flo74700 Messages postés 1850 Date d'inscription   Statut Membre Dernière intervention   243
     
    ok je vais regarder ca et l'adapter, car j'ai vu qu'il utilise une bd, moi c tout ds uyn tab
    0
  8. le père
     
    Si c'est ce qu'elle fait. Je ne sais pas où tu l'as mise, il fallait la mettre là
    $fin = $debut + 16;}}
    if ($fin >= count($tableau)) $fin= count($tableau)-1;
    // on défini le nombre de colonne sur lesquelles vont s'afficher nos miniatures
    0
  9. flo74700 Messages postés 1850 Date d'inscription   Statut Membre Dernière intervention   243
     
    merci pour la solution:)
    0