Photo en php

Bonjour,
voila je suis a la fac et jai un site internet a faire.. le theme est le partage de photo...
J'ai donc créé une page qui affiche toutes les photos à l'aide d'une boucle while , qui porte sur une requete MySQL qui selectionne tous les url de toutes les photos qui ont été postées ..
Mnt ce qui me pose probleme c'est que je ne sais pas cmt faire pour que , lorsque je clique sur une photo il me renvoi sur une page ou il m'affiche la photo et ces informations (ici titre et commentaire )
je voudrais que la photo qui va s'afficher esr bien celle sur laquelle jai cliqué
merci davance

7 réponses

Résumé de la discussion

Pour résoudre le problème d'affichage lors du clic sur une photo, il faut une page dédiée qui montre l'image avec son titre et son commentaire. La solution proposée consiste à attribuer un identifiant unique à chaque photo, puis de passer cet identifiant dans l'URL et de récupérer ses informations via une requête MySQL. Des exemples montrent d'utiliser $_GET['id'] pour cibler la ligne correspondante et d'afficher, sur la page cible, l'URL, le titre et le commentaire. En pratique, certaines méthodes recommandent soit des liens directs du format affichagePhoto.php?id=..., soit l'envoi via un formulaire GET ou un clic sur une image avec un événement onclick, afin d'assurer le bon transfert d'identifiant.

Bobot (l’IA à votre service)
  1. met un id sur ta base de donnée, et ensuite passe l'id de la photo dans ton url.
    Et dans ta page suivante récupère tes infos grâce a l'id en question
    1. Pour ce faire, il faut que tu passes l'information de la photo a la page qui va être chargée de l'afficher en GET par exemple : monscript_affiche.php?photo_id=2
      et dans monscript_affiche.php :
      <?php
      echo $_GET['photo_id']// 2 : id de la photo a afficher.
      ?>
      Tu peux donc récupérer l'information sur la photo a afficher puisque tu as son ID, reste plus qu'a faire ta requête et traiter l'affichage des informations.
      1. important avec cette méthode, ne pas oublier d'utiliser la fonction mysql_real_string_escape() pour éviter l'injection SQL.
    2. jai en fait penser à ce que lorsque l'on clique sur une photo des paramètres sont envoyé dans l'url pour que je puisse afficher la photo après... seulement lorsque je clique sur une photo , c'est tout les paramètre de toutes les photos qui sont envoyés dans l'url.. moi je veux que juste LE paramètre de LA photo sur laquelle jai cliqué soit envoyé dans l'url
      1. alors justement est-ce que je pourrais rajouter un champ de ma table contenant l'id qui s'auto incremente .. comme sa chaque photo aura ce paramètre qui lui sera propre..
        1. apparement on a eu la meme idée.. seulement je crains que, comme j'utilise une boucle while, là aussi il me passe tous les id en paramètre
          1. ah je vois merci beaucoup mais de quelle maniere je vais créer $tab? je vais mettre quoi dedans?
            1. tu cherches tes resultats dans une resquetes SQL...
              dans la boucles avec $row t'y as mis les src qui vont bien ....
            2. $row est déjà créé?
            3. $sql="Select * from ".$table." Where 'id'=".$id;
                       connection();
                       if (!$result=mysql_query($sql)) {echo('<hr>Erreur dans votre requete :"'.$sql.'<hR>'.mysql_error());}
                       if ($row=mysql_fetch_row ($result)) {
                          $stack = array();
                          foreach ($row as $value) {
                                  array_push($stack,$value);}
                          mysql_free_result($result);
            4. ok mais honnetement je vois toujours pas comment resoudre mon probleme.. sa fait des jours que je suis dessus
            5. fais voir ta requetes avec les src de la photo et du cite a promouvoir...
          2. lorsque tu fais ta page html avec ton php, tu as utilisé une balise <img...>
            et bien tu ajoute une balise de lien <a>

            ce qui te donne
            <a onclick="function(<?php echo $tab[i]; ?>);" style="cursor:pointer;" >
                      <img src="photo.jpg" border="0"  width="160" height="160" title=""/>
                      </a>
            1. ou encore
              <a src="<?php echo $tab[i][1]; ?>;" style="cursor:pointer;" >
                        <img src="<?php echo $tab[i][0]; ?>;"  border="0"  width="160" height="160" title=""/>
                        </a>
            2. j'ai enfin trouvé une solution simple et efficace

              $requete = "SELECT id,url FROM infoPhotos";
              $resultat = mysql_query($requete,$connexion);
              while($ligne=mysql_fetch_array($resultat)){
              echo '<a href="affichagePhoto2.php?photo='.$ligne['id'].'"><img src="'.$ligne["url"].'" alt="'.$ligne["url"].'"></a>';
              }