Bonjour,
Je suis complètement novice en programmation et j'essaie de faire une galerie d'images.
Pour simplifier l'explication, voilà des screenshots détaillés de la page :
http://img4.hostingpics.net/pics/646938screen1.jpg
http://img4.hostingpics.net/pics/852985screen2.jpg
Pour afficher les thumbnails, je fais appel à une base de donnée réunissant ces informations sur chaque image :
* ID
* Lien vers le thumbnail
* Lien vers l'image
* Lien vers l'image précédente
* Lien vers l'image suivante
Mon problème est que je n'arrive pas à programmer les boutons "précédents" et "suivants" de façon à ce que les url vers lesquels ils pointent s'actualisent lorsque l'on change d'image principale.
Voici le code que j'ai pour l'instant :
<nav>
<ul> <!-- J'appelle la base de données pour assigner la valeur de base à ID (par défaut, celle de la dernière entrée) -->
<?php try {
$bdd = new PDO('mysql:host=localhost;dbname=basededonnees', 'root', '');
}
catch (Exception $e)
{die('Erreur : ' . $e->getMessage());}
$reponse = $bdd->query('SELECT * FROM posters ORDER BY ID DESC LIMIT 0, 1');
$donnees = $reponse->fetch()
{
$ID= $donnees['ID'],
}
$reponse->closeCursor();
?> <!-- Je rappelle la base pour appeller les 10 dernières entrées -->
<?php try {
$bdd = new PDO('mysql:host=localhost;dbname=basededonnees', 'root', '');
}
catch (Exception $e)
{die('Erreur : ' . $e->getMessage());}
$reponse = $bdd->query('SELECT * FROM posters ORDER BY ID DESC LIMIT 0, 10');
while ($donnees = $reponse->fetch())
{
?> <!-- Je fais une liste de 10 thumbnails. En cliquant, un thumbnail doit modifier la variable qui permettra de changer la requête SQL suivante -->
<li><a href="#up">
<img src="<?php echo $donnees['Thumbnail']; ?>.jpg" alt="miniature" onclick="<!-- Là il me faudrait une fonction pour changer la variable $ID par $donnees['ID'] (et si besoin qui indique qu'il faut rafraichir l'info pour qu'elle s'applique à la requête suivante)-->">
</a></li>
<?php
}
$reponse->closeCursor();
?>
</ul>
</nav>
<article> <!-- J'appelle à nouveau la base de données mais cette fois je ne veux que l'élément dont l'ID correspond au thumbnail sélectionné plus haut-->
<?php try {
$bdd = new PDO('mysql:host=localhost;dbname=basededonnees', 'root', '');
}
catch (Exception $e)
{die('Erreur : ' . $e->getMessage());}
$reponse = $bdd->query('SELECT * FROM posters WHERE ID = '.$ID.'');
$donnees = $reponse->fetch()
{
?>
<h2 id="up">Cliquez sur l'une des miniatures à gauche pour afficher le dessin sur la page.</h2>
<p>Le dessin affiché peut encore être aggrandi en cliquant dessus.</p>
<!--Image précédente--> <a href="#grand" onclick="document.getElementById('grand').src='<?php echo $donnees['Previous']; ?>.jpg'"><img src="../empty.png" id="previous" onclick="<!-- Une fonction qui soustrait 1 à $ID (minimum 1) et rafraichit l'info pour la requête précédente -->"></a>
<!--Image suivante--> <a href="#grand" onclick="document.getElementById('grand').src='<?php echo $donnees['Next']; ?>.jpg'"><img src="../empty.png" id="next" onclick="<!-- Une fonction qui additionne 1 à $ID (maximum l'ID le plus haut existant dans la table de données) et rafraichit l'info pour la requête précédente -->"></a>
<!--Réduire l'image--> <a href="#up" onclick="document.getElementById('close').src='../empty.png',document.getElementById('previous').src='../empty.png',document.getElementById('next').src='../empty.png'"><img src="../empty.png" id="close"></a>
<!--Agrandir l'image--> <a href="#grand" class="expand" onclick="document.getElementById('close').src='../close2.png',document.getElementById('previous').src='../previous2.png',document.getElementById('next').src='../next2.png'">
<!--Image--> <img src="<?php echo $donnees['Poster']; ?>.jpg" id="grand" alt="poster"></a>
<?php
}
$reponse->closeCursor();
?>
</article>
En attendant de résoudre ce problème, j'utilise un autre code un peu plus simple qui n'inclue pas les boutons "suivant" et "précédent" et qui fonctionne très bien :
je ne me sers pas de variable $ID et l'image qui s'affiche dans 'grand' est renseignée par onclick="document.getElementById('grand').src='<?php echo $donnees['Poster']; ?>.jpg'" dans la balise des thumbnails.
Quelqu'un aurait-il une ou plusieurs idées pour m'aider à résoudre mon problème ?
Dans tous les cas, essayez de rester au plus simple, mon niveau est vraiment bas

.
Merci beaucoup !