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

ASP Discussion :

Albums photos et pagination


Sujet :

ASP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut Albums photos et pagination
    salut à tous,

    J'ai un album photos qui recupere le chemin et le nom des photos dans une BDD et qui les affiches dans un joli tableau. quand je clic sur une photos, elle apparait en grand avec un bouton suivant et précédent.
    Comment faire marcher ces 2 boutons sans faire numpho + 1 qui est un numéros generé automatiquement par le SGBDR car si +1 a été supprimé, il y a une erreur.
    je pense que je doit utiliser la commande
    pour le bouton suivant mais je n'arrive pas à la faire fonctionner correctement.

    Un pti coup de pousse serai le bienvenue.

    merci beaucoup

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Une solution possible:

    - Dans la page avec le joli tableau, tu crées un array et tu passes l'index de la photo cliquée vers la page suivante.
    Tu as donc la connection à la BDD et la création d'un recordset RS.
    Je présume que ce recordset contient au moins deux champs: chemin d'accès et nom de la photo. Tu peux facilement créer un array comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mes_photos = RS.getrows
    Tu peux connaitre le nombre de photos en trouvant le nombre de lignes dans ton array comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nombre_photos = Ubound(mes_photos,2)
    Dans le lien vers la page qui affiche la photo en grand, tu envoies l'index de la photo cliquée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for i = 0 to nombre_photos
      response.write "<a href='affiche_photo.asp?mon_index=" & i & ">Voir cette tof en grand</a>"
    next
    (je ne tiens pas compte de la mise en page..)

    Dans la page affiche_photo.asp, tu récupères l'index:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mon_index = request.querystring("mon_index")
    Tu refais la connection à la BDD, tu recrées to recordset, tu recrées ton array, tu retrouves son nombre de lignes et tu compares la variable mon_index avec le nombre de lignes du array.

    Dans ton array, en prenant l'élément d'index "mon_index", tu retrouves le chemin d'accès et le nom de la photo cliquée dans la page avec le joli tableau.

    Si la variable mon_index est égale au nombre de ligne du array, tu n'affiches pas le bouton "suivant".

    Sur le bouton "suivant", tu as un lien du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.write "<a href='affiche_photo.asp?mon_index=" & mon_index + 1 & ">Suivant</a>"


    Voilà...

    Ryan
    Au suivant, au suivant...

  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    ne servira à rien car cela fait longtemps que ton recordset est fermé.
    La solution de ryan est interessante, mais ce n'est pas de la pagination.
    Dans ta situation on pourrait envisager une autre solution qui ne soliciterai la BD qu'une seule fois.
    1 - Tu réccupères le chemin de toutes tes images dans un recordset
    2 - Tu créés une fonction javascript dans laquelle tu mets un tableau contenant le chemin de tes images.
    3 - Tu mets des bouton qui appellent cette fonction qui modifie en retour le lien vers l'image dans ton code HTML.

    Euh c'est clair?

    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    ok jai bien compris cos solution mais je suis encore pas du tout familiarisé avec les array et encore moins avec le javascript.

    Moi j'ai une solution qui semblerais etre assez simple à réalisé mais avent de me lancer, je voudrais savoir si c'est possible à faire.

    Je récupere les photos qui sont avant celle affiché dans un array donc avec les numéro auto puis dans un autre elle qui sont apres et ensuite selon le clic sur le bouton suivant ou précedent, je navigue dans l'un ou l'autrre de mes 2 array.

    Si cette solution est correcte, je me debrouillerai pour apprendre a utilisé les array sinon, immobilis, je ve bien que tu me detail ta solution stp.

    Merci pour vos réponses

  5. #5
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Moi j'ai fait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    nump=1
    if request.form("pp")>1 then 
      nump=request.form("pp")
    end if
     
    max=ubound(tab_photo)-(nump*10)
     
    if max=>-10 then
      response.write"<h4>Page"&nump&"</h4>"  
      response.write"<table border=1>"
      if max>-1 then
        for i=-10 to -1
          response.write"<tr>"
          response.write"<td>"
          response.write tab_photo(i+(nump*10))  
          response.write"</td>"
          response.write"</tr>"
     
          if (i=-1) then
            response.write"</table>"
            response.write"<form action='ce_fichier.asp' method='post'>"
            response.write"<input type='hidden' name='pp' value="&nump+1&">"
            response.write"<input type='submit' name='suivant' value='Suivants'>"
            response.write"</form>"
          end if
     
          if (i=-1) and (lbound(tab_sel)<((nump*10)-10)) then        
            response.write"<form action='ce_fichier.asp' method='post'>"
            response.write"<input type='hidden' name='pp' value="&nump-1&">"
            response.write"<input type='submit' name='suivant' value='Précédents'>"        
            response.write"</form>"
            response.write"<br/>"        
          else
            response.write"<br/>"  
          end if
     
        next
     
      else
        for i=-10 to max
          response.write"<tr>"
          response.write"<td>"
          response.write tab_photo(i+(nump*10))  
          response.write"</td>"
          response.write"</tr>"
     
          if i=max then
            if (lbound(tab_photo)<((nump*10)-10)) then
               response.write"</table>"
               response.write"<form action='ce_fichier.asp' method='post'>"
               response.write"<input type='hidden' name='pp' value="&nump-1&">"
               response.write"<input type='submit' name='suivant' value=' Précédents'>"
               response.write"</form>"
              response.write"<br/>"
            end if
          end if
        next      
      end if
      response.write"</table>"
     
    else  
      response.write"<h3>Il n'y à pas de photo<h3><br/>" 
    end if
    tab_photo est un tableau avec dans chaque case '<img src...>'.

    A ce moment là tes photos seront afficher par 10.

    A savoir que j'ai un peu modifier le code la sur le moment car moi je l'utilise pour afficher des commentaires par 10.

    Je suis conscient que mon code est largement simplifiable mais j'ai la flaime pour le moment.

    J'éspère que sa pourra t'aider ou au moins t'inspirer.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    salut
    ton code c pour afficher un tableau contenant 10 vignettes.
    je l'ai deja fait. je souhaite avoir que la photos sur correspondante à la vignette cliqué avec des bouton precedent et suivant

Discussions similaires

  1. [Galerie] Album photo multi utilisateurs
    Par guiguistuder dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 09/09/2006, 17h19
  2. Création Album photo.
    Par Angeldu74 dans le forum Langage
    Réponses: 5
    Dernier message: 22/06/2006, 17h39
  3. [C++/MFC]Application Album Photo
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 29/05/2006, 11h18
  4. Album photos
    Par mael94420 dans le forum ASP
    Réponses: 1
    Dernier message: 06/05/2006, 17h30

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