Galerie photos

Résolu/Fermé
ac - 5 juin 2011 à 10:19
 Profil bloqué - 5 juin 2011 à 21:30
bonjour,

je debute en php et j essaye de faire une galerie photo. mes vignettes apparaissent bien dans l ordre demande, mais lorsque je clique dessus, non seulement lightbox ne fonctionne pas mais en plus quelque soit la vignette clickee, c est toujours la derniere photo uploadee qui s affiche. je ne suis pas vraiment sure de mon code mais si quelqu un pouvait m aider a le faire fonctionner ce serai vraiment genial.

voici la partie concernant la galerie:

<?php
include("admin/codes/bdd.php");
{
$big = mysql_query("SELECT photo FROM photosf ORDER BY ID DESC");
$small = mysql_query("SELECT photo FROM photosfmini ORDER BY ID DESC");

while($bdat = mysql_fetch_assoc($big))
while($sdat = mysql_fetch_assoc($small))

echo '<a href="'.htmlspecialchars($bdat['photo']).'" rel="lightbox [tir] "><img src= "'.htmlspecialchars($sdat['photo']).'"/>';
}
mysql_close();

?>


merci d avance



A voir également:

10 réponses

Essaie de virer les htmlspecialchars dans ça:

echo '<a href="'.htmlspecialchars($bdat['photo']).'" rel="lightbox [tir] "><img src= "'.htmlspecialchars($sdat['photo']).'"/>';

(tu les mettras si besoin plus haut)

Varaldi Q.
Laisse moi 2 minutes que j'te trouve un autre truc...
0
non ca ne change rien
0
Profil bloqué
5 juin 2011 à 11:55
fait echo $bdat['photo']
et dit moi ce que ça te renvoit stp

0
ca me renvoi 3 fois le champ de la derniere image uploadee. (il y a 3 images en tout dans ma bdd)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
5 juin 2011 à 12:07
Essaies peut-être de supprimer l'espace entre lightbox et [tir]

PS si tir est une variable, il faut mettre $tir et non tir.

PS2 tes while ne servent à rien car aucune action ne leur est affectée (il faudrait la mettre entre {})


0
non tir n est pas une variable, c est le nom de l album lightbox.

j ais egalement essaye de mettre des {} autour de mon echo mais toujours pas de changement
0
Profil bloqué
5 juin 2011 à 12:19
C'est normal, tes while ne servent à rien, tu peux les supprimer tu ne verras pas de différence je pense.
0
ben si, c est ce qui permet d aller chercher toutes les photos dans la bdd
0
Profil bloqué
5 juin 2011 à 13:13
Ha peut-être, je t'avoue que les bdd et moi... je m'en sers que quand j'ai pas le choix.

Je ne sais pas trop ce que fait ton lightbox, mais sinon c'est normal que ce soit la dernière photo qui soit affichée, car tu fais ton echo à la fin, et à chaque fois, c'est bien le lien de la dernière photo qui est écrit.
0
peut etre mais pourtant mes vignettes s affichent bien toutes elles. c est seulement quand je clique dessus que j ais toujours la meme grande photo.


je pense que je dois faire mes appels a mes deux tables en meme temps (dans la meme ligne) mais je sais pas trop comment m y prendre
0
Profil bloqué
5 juin 2011 à 14:38
essaie de remplacer htmlspecialchars($sdat['photo']).'"/>';
par htmlspecialchars($sdat['photo']).'"/></a>';

Parce qu'en tout cas ta balise de lien n'est pas fermée
0
Profil bloqué
5 juin 2011 à 14:57
J'ai l'impression de répondre à 2 endroits différents à ce problème c'est bizarre...

PS tu as oublié de fermer ta balise de lien </a>
0
oui j ais vu et corrige. merci

bon apres mure reflection, je me dis que une seule table avec un champs pour les grandes photos et un champs pour les vignettes me simplifierai grandement la vie. (plus un champ id bien sur)

pour reprendre mon systeme:

j upload une photo que j enregistre dans un dossier et l adresse de cette photo dans la bdd
puis je cree une vignette que j enregistre egalement dans un dossier (different) puis l adresse dans la meme table.

seulement je ne sais pas comment dire a mysql que l enregistrement de la vignette doit se faire sur la meme id que la photo uploadee.

a l aide
0
en fait il sufisait simplement de mettre les deux typres d images dans une seule bdd. moi et la logique des fois...
0
Profil bloqué
5 juin 2011 à 21:30
Mdrrr !

Content que t'y sois finalement arrivé !
0