PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-08-2011 13:09:07

XanderX
Membre
Inscription : 08-08-2011
Messages : 1

Image suivante et image précédante dans un album photo

Bonjour,

Je suis en train de travailler sur un album photo, pour le moment toute mes petites systèmes fonctionnes sauf un que je ne sais pas du tout comment m'y prendre.

Voilà je vous explique j'ai donc fait un petit album photo avec une base de donnée qui contient trois table.

- categorie_albumphoto

Elle contient toute les informations des catégories de l'album photo.

- image_albumphoto

Elle contient toute les informations de chaque image poster.

commentaire_albumphoto

Elle contient toute les informations des commentaires poster sur chaque image.

J'ai donc crée deux page php (albumphoto.php et albumphotoajout.php)

Mon problème se situe sur la page albumphoto.php.

Cette page est constituer d'un switch (action)

Il y a donc trois code différent :

Une qui affiche les catégories :

case "categorie":

$sql = $db->query('SELECT * FROM categorie_albumphoto ORDER BY id_categorie');
$test = "<img src=\"./images/albumphoto/imagecategorie/";

while ($lignes = $sql->fetch())
      {
         
         
        echo' <div class="cadre_categorie_albumphoto"><fieldset><legend>'.$lignes['nom_categorie'].'</legend>';
echo'<div class="cadre_categorie_albumphoto_image"><a href="albumphoto.php?action=photo&id='.$lignes['id_categorie'].'">';
echo $test.$lignes['image_categorie'].'"width="240px" height="150px">';
echo'</div></a>';

echo'<div class="cadre_categorie_albumphoto_description">';
echo $lignes['description_categorie'];
echo'</div></fieldset>

</div>';
          }
      $req->closeCursor();
      break;

Une qui affiche les photos de la catégorie sélectionner

case "photo":
      $req = $db->query('SELECT * FROM categorie_albumphoto WHERE id_categorie=\'' . $_GET['id'].'\'');
      while ($donnees = $req->fetch())
      {
      echo '<h3><center>'.$donnees['nom_categorie'].'</center></h3><br />';
      }
      $req->closeCursor();
     
      $req = $db->query('SELECT * FROM image_albumphoto WHERE id_categorie=\'' . $_GET['id'].'\'');
      while ($donnees = $req->fetch())
      {
     
      echo'<a href="albumphoto.php?action=consulter_photo&id='.$donnees['id_photo'].'&id_categorie='.$donnees['id_categorie'].'"title="'.$donnees['nom_photo'].'"><img src="./images/albumphoto/photo/'.$donnees['nom_image'].'.jpg" alt="'.$donnees['nom_photo'].'"width="100"height="100"></a> ';
     
      }
      $req->closeCursor();
     
     
      echo '<br /><br /><center>Cliquez <a href="albumphoto.php?action=categorie">ici</a> pour revenir à l\'accueil de l\'album photo.</center>';
     
      break;

Et la dernière qui permet de consulter tout simplement l'image sélectionner et poster des commentaires.


<?php
case "consulter_photo":
     
      $req = $db->query('SELECT * FROM image_albumphoto WHERE id_photo=\'' . $_GET['id'].'\'');
      while ($donnees = $req->fetch())
      {
      echo'<center><img src="./images/albumphoto/photo/'.$donnees['nom_image'].'.jpg" alt="'.$donnees['nom_photo'].'" width="700"></center>';
      echo'<br /><hr><h3><center>Description</center></h3><hr>'.$donnees['description_image'].'<br /><hr>';
      }
      $req->closeCursor();
      echo '<h3><center>Commentaires</center></h3><hr>';
     
     
        $req = $db->prepare('SELECT pseudo_commentaire, texte_commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaire_albumphoto WHERE id_photo = ? ORDER BY date_commentaire');
    $req->execute(array($_GET['id']));
   
    while ($donnees = $req->fetch())
    {
    ?>
    <br /><p><strong><?php echo htmlspecialchars($donnees['pseudo_commentaire']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
    <p><?php echo ($donnees['texte_commentaire']); ?></p>
    <?php
    } // Fin de la boucle des commentaires
    $req->closeCursor();
 
      ?><form action="albumphoto.php?action=post_commentaire" method="post">
        <p><center><label for="message">Pseudo</label> :  <input type="text" name="auteur" id="auteur" value="<?php echo $_SESSION['pseudo'] ;?>" /> <br /><br />
         <textarea name="editor1" id="commentaire"><p></textarea>
          <script type="text/javascript">CKEDITOR.replace( 'editor1' );</script>
            <br />
    <input type="hidden" name="id_photo" id="id_photo" value="<?php echo $_GET['id'] ;?>">
    <input type="submit" value="Envoyer" /> </center>
  </p>
    </form>
  <br />
  <center>Cliquez <a href="albumphoto.php?action=photo&id=<?php echo $_GET['id_categorie'];?>"> ici </a> pour revenir à la catégorie
</center> <?php
      break;

Je voudrais simplement ajouter la fonction suivant précédant sur la dernière partie "consulter_photo."

J'avais penser crée un tableau, qui numéroterai chaque image dans la partie "photo" et on recréerai le même tableau dans la page "consulter_photo" et on comparais ensuite les résultats mais je sais pas comment m'y prendre.

Quelqu'un pourrais t'il m'aider ?

Merci d'avance smile

Dernière modification par XanderX (08-08-2011 13:11:06)

Hors ligne

#2 08-08-2011 16:58:06

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Image suivante et image précédante dans un album photo

Saluton,
Première remarque, tu n'as jamais du entendre parler de la Guerre des étoiles.
Deuxième remarque non plus, apparemment, que des jointures.
Enfin tu sembles ignorer que les lignes d'une table de base de données sont comme des billes que l'on met dans un sac, sauf à utiliser une clause ORDER BY, leur affichage s'opère dans un ordre dont on ne peut préjuger.
Il en résulte que, en dehors de ce type de classement, la notion de précédent et de suivant n'a pas grande signification. Et même dans le cadre de celui-ci peut se poser la question de l'ordre des ex-aequo.
Un coup d'œil à ce tuto ne peut que t'orienter vers la bonne voie.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums