Page 1 sur 1
Site Photos
Posté : 28 févr. 2005, 15:57
par Photographiquement Vôtre
Rebonjour,
J'ai affiché dans une page la photo sélectionnée dans une table
Maintenant je souhaite faire défiler en avant ou en arrière les autres photos de la table avec les mots Suivant et Précédent.
Comment je peux procéder.
Merci pour votre précieuse aide
Posté : 28 févr. 2005, 16:08
par albat
Tu peux gérer cela de 2 façons :
- en Javascript
- en PHP
Le principe est le même, seul le langage change :
- Tes images sont stockées dans un même répertoire sur le serveur, et s'appellent : photo_001.jpg, photo_002.jpg, photo_003.jpg, etc.
- Tu utilises un compteur (cad une variable de type entier) que tu incrémentes (resp. décrémentes) à chaque clic sur le bouton "photo suivante" (resp. "photo précédente").
- Tu appelles et affiches le fichier dont le nom est obtenu par concaténation (ci-dessous, 2 exemples, au choix):
fichier = "photo_" + (compteur<100 ? "0" : "") + (compteur<10 ? "0" : "") + compteur + ".jpg"; // JavaScript
$fichier = "photo_".($compteur<100 ? "0" : "").($compteur<10 ? "0" : "").$compteur.".jpg"; // PHP
PS : Peux-tu mettre un [Résolu] sur ton précédent topic ? Merci. 
Site Photos
Posté : 28 févr. 2005, 16:26
par Photographiquement Vôtre
Merci mais le problème est que la photo choisie n'est pas la première dans la table et que les références des photos ne se suivent pas (ex Isl03_01 puis Isl03_20 ...)
Ce qu'il faudrait c'est pouvoir récupérer le rang de la photo dans la table
(exemple 3 ème photo) et ensuite jouer avec la fonction limite ?
Mais peut être je devrais mettre un numero incrémenté ?
Encore merci
Re: Site Photos
Posté : 28 févr. 2005, 16:42
par albat
Mais peut être je devrais mettre un numero incrémenté ?
Cela n'a rien d'obligatoire, mais cela peut simplifier...

Cependant, si tu souhaites afficher une sélection de photos et non la collection complète, ça n'apportera pas grand-chose.
Avant d'aller plus loin, il me faudrait une précision supplémentaire :
Même si les numéros de tes photos ne se suivent pas un à un (cad : ta liste contient des "blancs"),
les numéros des photos à afficher suivent-ils un ordre croissant ?
Site Photos
Posté : 28 févr. 2005, 16:59
par Photographiquement Vôtre
Les images sont en ordre croissant mais avec des blancs
Par exemple, je passe de Isl03_10 à Isl03_15 puis Isl03_25.
Je vais de toute façon devoir rajouter un numéro d'ordre numérique en ordre croissant mais avec des blancs (par exemple 10 puis 40 puis 80) de façon à pouvoir intercaler d'autres images
Je ne sais pas si cela simplifie la programmation
Encore merci
Posté : 01 mars 2005, 00:32
par mere-teresa
Les blancs sont pas forcément gênants. Tu peux bien dire à ton programme, de chercher le numéro +1
s'il ne trouve rien -> chercher le numéro +2, etc...
s'il trouve qqch -> il exécute une autre partie de code
Site Photos
Posté : 03 mars 2005, 21:20
par Photographiquement Vôtre
J'ai pris l'idée d'une réponse du forum parlant de select avec une limite.
C'est ce que j'ai fait mais j'ai un problème quand j'arrive à la dernière page et que j'appuie sur l'image précédente je me retrouve à la première page au lieu de la page précédente.
Où est le bug
Merci d'avance
<HTML>
<HEAD>
<TITLE>ENDELEA PHOTOS </TITLE>
</HEAD>
<BODY>
<?php
include("connection.php");
$Pos=$_GET["Pos"];
//RECHERCHE IMAGE DEMANDEE
$query = "select * from tblphotos where Id=$Pos";
$result = mysql_query($query) or die ("Execution de la reqête impossible");
$Ref_img=mysql_result($result,0,"Ref_Image");
$chaine="select * from tblPhotos where Id=$Pos";
$request= mysql_query($chaine) or die ("Execution de la reqête impossible");
$theme=mysql_result($request,0,"Index_Theme");
//RECHERCHE IMAGE PRECEDENTE
$chaine="select Id from tblPhotos where Index_Theme= $theme AND Id<$Pos";
$list_avant = mysql_query($chaine) or die ("Execution de la reqête impossible");
$nb_img_avant = mysql_num_rows($list_avant);
if($nb_img_avant>0) {$id_img_avant=mysql_result($list_avant,0,"Id");}
//echo "$id_img_avant";
//IMAGE AFFICHEE
$num_img_current=$nb_img_avant+1;
//RECHERCHE IMAGE SUIVANTE
$chaine="select Id from tblPhotos where Index_Theme= $theme AND Id>$Pos";
$list_apres = mysql_query($chaine) or die ("Execution de la reqête impossible");
$nb_img_apres = mysql_num_rows($list_apres);
if($nb_img_apres>0) {$id_img_apres=mysql_result($list_apres,0,"Id");}
echo "$id_img_apres";
//RECHERCHE NOMBRE PHOTOS TOTALES DU THEME SELECTIONNE
$chaine="select * from tblPhotos where Index_Theme= $theme ";
$list_img = mysql_query($chaine) or die ("Execution de la reqête impossible");
$nb_img = mysql_num_rows($list_img);
//AFFICHAGE SIGNE IMAGE PRECEDENTE
if ($nb_img_avant>0)
{
echo "<a href=Photos_Vue.php?Pos=$id_img_avant>
<img src=prec.png>";
}
//AFFICHAGE SIGNE IMAGE SUIVANTE
if ($nb_img_apres>0)
{
echo "<a href=Photos_Vue.php?Pos=$id_img_apres>
<img src=suiv.png>";
}
//AFFICHAGE PHOTO DEMANDEE
echo "<Img src=Photos/$Ref_img >" ;
?>
</BODY>
</HTML>