Page 1 sur 3

besoin de votre avis : galerie photo

Posté : 27 mai 2005, 13:56
par ricardo
Bonjour a tous,

Je vais devoir créer une galerie de photos (environ 60) pour différent evenement d'une association (7) ce qui fait environ 420 photos.
Quelle est la meilleur méthode pour limiter le nombre de page sachant que je veux mettre environ 20 photos par page avec des fleches "suivante" et "précédentes"en bas de page.

Merci

Posté : 27 mai 2005, 14:04
par zeus
Tu génère une page php qui affiche par défaut les 20 premières photos avec les boutons précédent/suivant qui permettent de recharger la page en affichant les 20 photos précédentes/suivantes ...

résultats : 1 page php

Posté : 27 mai 2005, 14:30
par ricardo
Ok mais comment mettre en oeuvre ça?

Peut-tu m'épauler ?

Merci

Posté : 27 mai 2005, 14:34
par zeus
Honnetement, aujourd'hui, pas trop !!!

Mais si tu peux me laisser le we, j'essaye de te monter les bases et de te donner la méthode

Posté : 27 mai 2005, 14:49
par Cyrano
Le principe: en considérant que les informations sont dans une base de données MySQL, tu vas faire une requête avec une clause LIMIT 0, 20 qui pour la page 2 sera LIMIT 20, 20 etc... Pour définir le point de départ, tes liens auront un paramètre dans l'url donc si tu es sur la page deux, ton lien vers [Précédente] sera du genre galerie.php?debut=0 et pour la page suivante galerie.php?debut=2

Tu récupères le paramètre et tu te crées un petit fichier de configuration qui détermine le nombre de photo par page : $nb_photo = 20;

Ensuite tu crées dynamiquement la requête en fixant le premier chiffre de la requête avec $_GET['debut'] * $nb_photo. Résultat, pour la page 3 on aura comme clause LIMIT 60, 20 , le ?) étant égal à 3 * 20 et le 20 le nmobre de photos par page.
En dynamique, ta clause s'écrira :
$sql = "SELECT ............ LIMIT ". $_GET['debut'] * $nb_photo .", ". $nb_photo
En modifiant simplement la valeur de $nb_photo, tu mets à jour le nombre de photos par page immédiatement sans modifier le code et si finalement 20 c'est trop, tu changes par 15 ou 10.

BOn code :)

Posté : 27 mai 2005, 14:53
par zeus
MERCI Cyrano !!!

Pas le temps cet aprèm !!!!!

Posté : 27 mai 2005, 18:41
par ricardo
Merci dès que j'ai le temps j'essaye.

Posté : 27 mai 2005, 18:47
par ricardo
Je dois mettre les photos dans le meme dossier ?

Je vois pas trop aussi comment faire les différentes requetes en modifiant les limites dans la meme page ?

Merci

Posté : 27 mai 2005, 18:51
par Cyrano
Pour les photos, tu utilises effectivement le même répertoire, quoique... Personnellement, j,ai mon té un système d'upload et j'ai deux catégories: les images taille "grande" pour affichage d'un article détaillé, une seule photo à la fois, et un répertoire miniature pour la galerie avec photos multiples.

Pour le principe des pages, relis attentivement mes explication en essayant de te faire un schéma, je vois pas trop comment expliquer différemment. Simplement, dis-toi qu'il doit y avoir un point de départ par défaut pour la première ouverture de la page et ensuite, ça passe par un paramètre d'url, donc en début de page, tu teste en faisant un truc du genre if(isset($_GET['debut'])) etc... pour déterminer s'il y a un paramètre, sinon, tu initialise le point de départ par défaut à 0.

Posté : 27 mai 2005, 19:23
par ricardo
Pour la structure de la table comment faire ?

Merci

Posté : 27 mai 2005, 19:47
par Cyrano
La table... HTML ?

Posté : 27 mai 2005, 19:56
par fab
sql plutot :p,
bah ça dépend tu veux stocker quoi exactement dans cette table ?

Posté : 27 mai 2005, 21:03
par ricardo
Table sql plutot je suis en plein dedans. Je vois pas quoi mettre dedans justement ?

Merci

Posté : 27 mai 2005, 21:27
par Cyrano
Ok, alors on va aborder (succinctement je te rassure) la modélisation. Il va te falloir une feuille de papier, un crayon, et un verre de quelque chose de pas trop fort quand même, et un fauteuil:

Note en vrac le nom des éléments que tu vas devoir manipuler par rapport à ces photos: nom de la photo, format, taille, poids, etc... tout ce qui te passe par la tête sans te préoccuper pour le moment de PHP ou de SQL. Ça s'appelle créer un dictionnaire de données.

Quand tu auras un liste qui te semblera complète, fais un tri par blocs logiques en te demandant comment tu vas utiliser ces données pour les afficher: de quels éléments vas-tu avoir besoin? Là, tu vas peut-être réaliser que tu as oublié un élément et en trouver un qui n'a en fin de compte aucun intérêt. Divise ces blocs et reviens avec ta ou tes listes de mots, tu verras il y auras peu de choses en fin de compte. Là, on pourra concevoir ta base :)

Posté : 28 mai 2005, 11:02
par ricardo
Donc voila ma table :

- id en autoincrémentation
- nom de la photo (a voir)
- chemin d'accès pour pouvoir accèder aux photos
- evenement pour différencier les photos qui appartiennent a tel ou tel evenement (8 au total). ce champs sera passer en paramètre dans l'URL.
- titre pour l'affichage de mes liens sur les pages

Voila, alors votre avis ?