Paramètres d'url avec jointures et affichage du prochain enregistrement

elran Messages postés 22 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 5 juin 2010 - 5 juin 2010 à 16:09
elran Messages postés 22 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 5 juin 2010 - 5 juin 2010 à 16:17
Bonjour à tous,

je suis en train de faire une galerie photo pour un ami (l'occasion pour moi d'apprendre php/mysql, c'est mon projet de stage)...

je réussi à afficher une "liste" de photos contenu dans une galerie donnée (avec une jointure entre 2 tables), mais je ne sais pas comment faire pour
pouvoir afficher ces photos une par une en cliquant sur un lien suivant ou précédent...


je travail sur 2 tables, jointes:
une table galeries où j'insère les titres des galeries et une description de la galerie
une table photos où j'insère les photos avec une jointure sur la table galeries pour affecter la photo à une galerie


mes tables contiennent les champs suivants:

Galeries:
id_galerie
galerie_title
galerie_desc

photos:
id_photo
photo_url
photo_thumb_url
photo_title
photo_desc
galerie_id

je travail également sur 3 pages:

galerie.php (liste toutes les photos des galeries) galerie_theme.php (liste les photos d'une galerie donnée) et fullscreen.php (qui doit afficher
une photo sélectionnée d'une galerie donnée).
(bon déjà je n'aime pas le fait d'avoir du créé 2 pages (galerie et galerie_theme) pour faire pratiquement la même chose, mais mes connaissances étant limitée, je ne sais faire autrement...)

la requête utilisais pour la page galerie_theme.php est la suivante:

SELECT photo_url, photo_thumb_url, photo_title, galerie_id FROM photos WHERE galerie_id = %s


ça fonctionne, si je mets un paramètre d'url du genre ?galerie_id=1

j'aurais bien la liste des photos contenus dans la galerie 1.

vous pouvez voir ça ici:http://impactstudio.fr/galerie.php


maintenant mon problème:

lorsque je clique sur une vignette, je souhaite que la photo de cette vignette s'affiche dans la page fullscreen ET que l'utilisateur puisse disposer de boutons suivant et précédent pour afficher la photo suivante de la galerie qu'il à sélectionné.

le problème, c'est qu'avant d'avoir fait ma jointure, le code de mes boutons suivant et précédent était celui-ci:

  


     [fullscreen.php?id_photo=<?php echo GetSQLValueString($colname_AffichePhoto,  " 
         onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('precedent','','media/site/precedent_on.png',1)">
     ] 





     [fullscreen.php?id_photo=<?php echo GetSQLValueString($colname_AffichePhoto,  " 
     onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('precedent','','media/site/suivant_on.png',1)">
     ] 




donc en gros, je faisais une incrémentation moi même sur l'id de la photo pour aller à la prochaine, ce qui n'est pas sans posé de problèmes:

si une photo est supprimée, il n'y aura aucun enregistrement retourné pour une id_photo donnée et j'ai une belle page blanche...

mais surtout, je ne sais pas comment faire pour naviguer (suivant précédent) dans une galerie donnée.


alors si quelqu'une pouvait m'aider sur ce coup là, ça ne doit pas être bien compliqué, juste que je suis un débutant en php et mysql...
je dois rendre mon projet de stage vendredi 11 juin, et là je commence un peu à paniqué :(

alors d'avance merci à tous ceux qui veulent bien me filer un petit coup de main ;)





Elran,

In the beginning was the command line

1 réponse

elran Messages postés 22 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 5 juin 2010
5 juin 2010 à 16:17
oups et pour info, la galerie en ligne fonctionne + ou - mais il n'y à pas encore de jointures entre les tables
et lorsque je clique sur la vignette d'une photo pour une galerie donnée ,ce sont toutes les photos de toutes les galeries qui sont affichées..
et c'est bien là mon problème, faire en sorte que ça ne soit QUE les photos d'une galerie donnée (d'où la jointure) et qu'on puisse afficher la photo suivante ou précédente...



Elran,

In the beginning was the command line
0
Rejoignez-nous