Galerie photo en php

Fermé
Hekthor - 11 déc. 2008 à 13:24
 Brinbois - 15 déc. 2008 à 16:39
Bonjour,

Je suis en train de faire un système d'administration et d'affichage de galeries photos. Je suis arrivé à faire ce que je voulais, mais j'aimerais optimiser le module...

En fait la page affiche la liste des photos en miniature et un clic sur l'une d'entre elle s'affiche au dessus, j'utilise le système des frames. Ca marche très bien, sauf que pour les galeries volumineuses, je me retrouve avec une série de miniatures qui fait péter la fenètre du navigateur...

Je souhaiterais donc créer un système de pagination, j'ai fait quelques essais mais je bloque un peu sur ça...

Voici le code qui fonctionne :

<?php
 $titre = $_GET['titre']; //Récupéré dans l'URL
 echo $titre;
 // on déclare un tableau qui contiendra le nom des fichiers de nos miniatures  
 $tableau = array();  
 // on ouvre notre dossier contenant les miniatures  
 $dossier = opendir ("images/{$titre}/mini/");  
 while ($fichier = readdir ($dossier)) { 
    if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') { 
       // on stocke le nom des fichiers des miniatures dans un tableau 
       $tableau[] = $fichier;
    }  
 }  
 closedir ($dossier);  
  
 	   echo '<table width="640px" height="480px" border="0" cellspacing="0" cellpadding="0">';
	   echo '<tr>';
	   echo '<td> <a href="images/' . $titre . '/pics/' , $tableau[$i] , '"> << </a></td>';
	   echo '<td height="100%"><iframe width="640px" height="480px" src="" align=left frameborder=0 hspace=0 vspace=0 name="topframe"> </iframe></td>';
	   echo '<td> <a href="images/' . $titre . '/pics/' , $tableau[$i++] , '"> >> </a></td>';
	   echo '</tr>';
	   echo '</table>'; 

 // on compte le nombre de miniatures  
 $nbpics = count($tableau);  	   
	   
 if ($nbpics != 0) { 
    echo '<table>'; 
	echo '<tr align="center">';
    for ($i=0; $i<$nbpics; $i++){         
       // pour chaque miniature, on affiche la miniature munie d'un lien vers la photo en taille réelle 	   
       echo '<td align="center"><a href="images/' . $titre . '/pics/' , $tableau[$i] , '" target="topframe"><img src="images/' . $titre . '/mini/' , $tableau[$i] , '" alt="Image" /></a></td>';         
    } 
	echo '</tr>';
    echo '</table>';  
 }  
 // si on a aucune miniature, on affiche un petit message   
 else echo 'Aucune image à afficher';
  
 ?>


En fait, la modif' que je voudrais faire se fait sur ce bout de code :

 	   
           echo '<table width="640px" height="480px" border="0" cellspacing="0" cellpadding="0">';
	   echo '<tr>';
	   echo '<td> <a href="images/' . $titre . '/pics/' , $tableau[$i--] , '"> << </a></td>';
	   echo '<td height="100%"><iframe width="640px" height="480px" src="" align=left frameborder=0 hspace=0 vspace=0 name="topframe"> </iframe></td>';
	   echo '<td> <a href="images/' . $titre . '/pics/' , $tableau[$i++] , '"> >> </a></td>';
	   echo '</tr>';
	   echo '</table>'; 


Comme vous voyez, j'ai pensé qu'en incrémentant la variable $i du tableau, je passerais directement à l'image suivante ou précédente...

De la même manière, j'aimerais limiter l'affichage des miniatures (n'en afficher que 5) et ça par contre je vois pas comment faire...

Quelqu'un aurait-il des pistes pour m'aider ?

Merci d'avance !!!
A voir également:

2 réponses

UP !

J'ai vraiment besoin de votre aide, s'il n'ya pas de solution, qu'on me le dise au moins,

merci !
0
Salut, Pas la motiv de regarder ce que tu a fait, mais la piste pourt effectuer la pagination c'est :

remplir un tableau avec tes photo ( a moi que cela viene d'une BDD, d'ou la solution serait en la bonne connaissance du langage SQL :p) et de passez un parametre (X par exemple)via l'url pour dire q quel page tu est !!


Ensuite simple tu affiche les photo qui sont au index de ton tableau de la valeur de X et de Xplus un nombre (celui que tu veut de photo afficher ...)
0