Un big problème ?

albius -  
Tittom Messages postés 422 Statut Membre -
Bonjour,

Voilà, je me mets dans les mains un projet, qui pour mon niveau en php/ msql me paraît plus qu’ambitieux !
E n me basant sur un script d’une exposition virtuelle, je voudrais « l’adapter sur une base de données qui renfermerait toutes les images nécessaires.
Voici l’énoncé du problème :
J’ai, dans une première page (l’index par ex), une gallerie de petite images. Lorsque je clique sur une de ces images, celle-ci ouvre une fenêtre plein écran paramétrée (elle conserve le bandeau supérieur du navigateur)
Dans cette nouvelle fenêtre ouverte, je trouve les éléments suivants :
- Au milieu de la fenêtre, l’image agrandie de l’imagette cliquée précédemment.
- En haut, le bandeau de navigation qui comporte 4 éléments. Un bouton précédent et suivant. A côté de chacun de ces boutons, j’aimerais voir une imagette (de la même taille bien sûr que dans la première gallerie) ayant la position respective précédente et suivante par rapport à la grande image de la même page. (heu, on suit ?) Ce qui me paraît un système de navigation clair.
- Et pour terminer, un bouton en roll-over pour que l’utilisateur ferme cette fenêtre au dessus du bandeau de navigation.

Le truc et ça c’est je pense commun à tous les débutants, c’est par quoi commencer ? Je sais comment placer mes images dans la base de données (du moins, je pense !), mais comment, en cliquant sur l’imagette de la gallerie, générer la nouvelle fenêtre avec tout ce qu’elle comporte. Comment interroger de façon intelligente la base de donnée pour qu’elle puisse afficher les bonnes images, avec les liens qui y sont rattachés ? Afficher le roll-over de fermeture de la page courante ?
Je sais que ça à l’air gros comme problème, mais je pense que hormis moi, ce problème serait susceptible d’intéresser d’autres personnes, car il fait appel à pas mal de notions et de fonctions de la part des deux langages.
Un grand merci d’avance ne serait-ce que pour m’aiguiller.

A voir également:

1 réponse

Tittom Messages postés 422 Statut Membre 128
 
Voici quelques éléments de réponses qui pourront t'aider.

Pour ma part je préfère stocker les images non pas dans la base de données, mais de façon classique sur le serveur ftp. Je ne stocke dans la base de données que le chemin d'accès aux images.

Au niveau de la table qui contiendra (virtuellement) les images, voici les colonnes que j'utilise courrament :

- id (identifiant unique auto incrémenté)
- titre (un titre, facultatif)
- auteur
- fichier_low (chemin d'accès à la vignette)
- fichier_high (chemin d'accès à la grande image)
- categorie
- ...

Ainsi, quand tu parcours ta table, tu peux générer les vignettes cliquables de la façon suivante :

===== DEBUT DE CODE =====
// Ouverture du curseur
$sql = "select * from ma_table ";
$curseur = mysql_query($sql) or die ("Erreur : ".mysql_error());

// Parcours de la table
while ($vignette = mysql_fetch_object($curseur)) {
// Le lien
echo "<a href=\"affiche.php?id=$vignette->id\" ";
echo "target=\"_blank\">";

// L'image
echo "<img src=\"$vignette->fichier_low\">";

// Fermeture du lien
echo "</a>";

// Saut de ligne pour faire joli
echo "<br>\n\n";

}
========= FIN DU CODE =========

Le script affiche.php récupèrera donc l'id de l'image à afficher. Si tu n'as pas de trous dans la suite de valeurs de la colonne ID, tu peux te permettre de créer les liens de navigation "précédent" et "suivant" en décrémentant et in incrémentant l'id de l'image que tu es en train d'afficher...

Au sujet du rollover, je laisse qq'un d'autre répondre, le javascript c'est pas mon truc...

J'espère que cela t'aidera un peu, n'hésite pas à reposter si tu veux plus de détails...

Tittom
0