IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Galerie de photos


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut [Tableaux] Galerie de photos
    Bonjour,


    Je voudrai créer une galerie de photo. Le problème ne réside pas dans l'affichage mais dans l'implémentation de cette galerie.

    En effet, tous les objets que je souhaite afficher sont en base de données. Par conséquent pour afficher page par page, cela s'avere etre simple. Cependant mon probleme est lorsque l'utilisateur clique sur une image, il peut la voir en "agrandi" (simple a faire) mais j'aimerai ajouter des boutons "image suivante" et "image precedente" autour. Et là je ne sais pas comment faire pour les afficher dynamiquement !!

    Je ne sais pas si je suis tres clair.
    Je vous remercie

  2. #2
    Membre éclairé Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Par défaut
    Si tu gère ça par base de donnée tu devrais avoir un ID.

    Récupère le numéro de l'Id de l'image que tu affiche puis tu fais une requête :

    $precedent_id = $mon_id - 1;

    $query = 'select mon_image from album where id="'.$precedent_id'"';

    voila

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut
    Citation Envoyé par poussinphp
    Si tu gère ça par base de donnée tu devrais avoir un ID.

    Récupère le numéro de l'Id de l'image que tu affiche puis tu fais une requête :

    $precedent_id = $mon_id - 1;

    $query = 'select mon_image from album where id="'.$precedent_id'"';

    voila

    Salut merci de ta réponse si rapide
    En effet c'est une bonne idée. Mais supposons que dans la partie admin, je supprime une image, il va y avoir un trou dans les id. Imaginons j'ai les images 1 - 2 - 3 - 4 et je supprime la 3. On passe de suite de 2 a 4 et là id-1 ne fonctionne plus :'(

  4. #4
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Par défaut
    Je peux te suggérer une solution pas du tout optimisée en attendant de trouver mieux, au lieu de passer en parametre de ton lien l'id de la photo (ce qui peut poser probleme en cas de "trou" dans les ID comme tu le dis) tu peux passer un numéro de photo arbitraire (la premiere photo vaut 1, la seconde 2, etc...).
    par conséquant tu aura l'url:
    voirPhoto.php?id=5

    qui affichera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $previousID=$_GET['id']-1;
    $nextID=$_GET['id']+1;
    <a href="voirPhoto.php?id=$previousID">Photo Precedante</a>
    (...)
    et pour afficher la photo (la j'avoue c'est bourrin mais c'est pour dépanner )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql="SELECT * from photos";
        $resultat= @mysql_db_query($database,$sql,$id_link);
        $i=0;
        while ($i<$_GET['id'] && $rang=mysql_fetch_array($resultat)) {
                   if ($i==$_GET['id'] ) {
                        //Ici tu affiches ta photo
                   }
                   $i++;
            }
    Dès que je trouve une meilleure idée je t'en informe :p

  5. #5
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Fichier a inclure : test.php
    include('connexion.php'); //connexion a la base de données
     
    $req='select id from photos';
    $res=mysql_query($req);
     
    $i=0
    while($aff=mysql_fetch_array($res)) {
       $index_photos[$i]=$aff[0];
       $i++;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //fichier de la galerie
    include('test.php'); //pour récupérer le tableau avec tous les id
     
    ...
     
    echo '<a href=galerie.php?'.$index_photos[$k+1].'>Suivant</a>
    //avec $k variant en fonction de la position où tu te trouves. (a récupérer)
    voila une idée à développer...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut
    Merci beaucoup a vous tous c'est super sympas
    Je vais faire ca en prenant differentes idées ...

    Je vous promet rien mais qui ne tente rien a rien :p

    Merci beaucoup encore

  7. #7
    Membre éclairé Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Par défaut
    Pour retourner à mon "id - 1" je dirais déja que par convention, on met jamais d'auto-increment.

    Ensuite tu peut faire une condition en cas de "trou". Tu test si tu as un résultat; Si ça te renvois une erreur alros tu sais que c'est un trou.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Pseudo-code :
     
    $id_precedent = $id_actuel;
    $verif = false;
    while (!$verif)
    {
       $query = "select image from album where id=$id_precedent";
       if (!$query) {
       $id_precedent = $id_precedent - 1; }
       else { $verif = true; }
    }
    voila

  8. #8
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    attention avec la manipulation des id.
    si tu as un auto_increment, il se peut que tu aies des "trous", c-a-d qu'il manque des id (suppressions dans la base). En effet, l'auto_increment se fout royalement qu'il manque des id. Il prend Max(id) et ajoute 1 pour chaque nouvel enregistrement.
    Donc a manipuler avec precaution.

    -edit- et voila, encore un truc inutile car quelques secondes de retard...
    en tout cas, on a pensé au même probleme en meme temps

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut
    Citation Envoyé par Commodore_Psykopate
    -edit- et voila, encore un truc inutile car quelques secondes de retard...
    en tout cas, on a pensé au même probleme en meme temps
    Les grands esprits se rencontrent
    Mais alors comment faire ??

  10. #10
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    récupère tous les id dans un tableau et fonctionne avec l'index du tableau qui lui ne sautera pas de numero.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut
    Oki d'acc, au niveau de l'optimisation c'est correct ?

Discussions similaires

  1. [Galerie] Script de galerie de photos
    Par webide dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 50
    Dernier message: 15/04/2007, 19h03
  2. [Galerie] Galerie de photos, vente en ligne
    Par f56bre dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 26/03/2007, 12h26
  3. [Galerie] Site de galerie de photos : comment faire ?
    Par Louis Griffont dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 24/01/2007, 16h25
  4. [Galerie] Cherche un script php pour avoir une galerie de photos
    Par Nimajneb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 03/08/2006, 10h19
  5. [FLASH MX2004] Galerie de photos
    Par ed!x dans le forum Flash
    Réponses: 3
    Dernier message: 07/09/2005, 01h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo