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] Navigation dans un diaporama


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 92
    Par défaut [Tableaux] Navigation dans un diaporama
    Bonjour à tous,

    J'ai repris le développement d'un site sur lequel existe dejà un diaporama.
    Lorsque l'on clique sur une vignette, la photo s'affiche au dessus en taille normale.

    Je souhaiterais ajouter 2 boutons "précédent et "suivant" mais je ne m'en sors pas, par rapport au code existant que voici :

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    <?php
    require_once('dyn/lib/app.php');
    require("_includes/bdacc.php");
    require("_includes/comp.php");
    require("dyn/settings/config.php");
    $id_prog = $_GET['picture'];
    $galerie = isGalerie($id_prog, $db);
     
    define ("NBRE_COLONNES", 12);
     
    if(isset($_GET['selec']) && ($_GET['selec']) != ""){$premier=$_GET['selec'];}
    else{$premier = selectionPremier($id_prog, $db);}
     
    // ********************* FONCTIONS **********************
     
    function isGalerie($id_prog, $db)
    {
    	$sql = "SELECT * FROM galery WHERE galery.idp=".$id_prog;
    	$res=mysql_db_query($db, $sql);
     
    	$galerie = array();
    	while($rs=mysql_fetch_object($res))
    	{
    		// Créer le lien
    		// $lien = DYNPROGURL.$rs->lien_image;
     
            if( $rs->local )
            {
                  $lien = DYNPROGURL.$rs->lien_image;
            }else{
                  $lien = $rs->lien_image;
            }
     
    		$galerie[]= array(
    			'nom_image' => $rs->nom_image,
    			'com_image' => $rs->com_image,
    			'lien_image' => $lien,
    		);
    	}
    	return $galerie;
    }
     
    function selectionPremier($id_prog, $db)
    {
    	$sql = "SELECT * FROM galery WHERE galery.idp=".$id_prog." LIMIT 1";
    	$res=mysql_db_query($db, $sql);
    	$rs=mysql_fetch_object($res);
     
            if( $rs->local )
            {
                  $lien = DYNPROGURL.$rs->lien_image;
            }else{
                  $lien = $rs->lien_image;
            }
     
     
    	return $lien;
    }
     
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
     
    <body>
     
    <div><a href="#" onClick="self.close();">Fermer la fenêtre</a></div>
    <table width="100" border="0" align="center" cellpadding="0" cellspacing="0" height="550">
    <tr>
    <td width="15px" valign="center"><img src="images/fleche_g.gif" alt="Précédent" style="margin-right:15px" /></td>
    <td valign="center"><div align="center">
    	<img style="border:1px solid #c2c2c2" alt="Diaporama" src="<?=$premier;?>">
    </div>
    </td>
    <td width="15px" valign="center"><img src="images/fleche_d.gif" alt="Suivant" style="margin-left:15px" /></td>
    </tr>
    <tr height="0"><td colspan="3"></td></tr>
    </table>
     
    <table align="center">
      <tr><td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#666;">Cliquez sur une photo pour l'agrandir</td></tr>
      <tr><td height="5"></td></tr>
    </table>
     
    <div align="center">
    <table border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
      <?php 
      $compteur = 1;
      foreach($galerie as $k=>$v){ 
     
    		if ($compteur % NBRE_COLONNES == 1) {
    		echo ('</tr><tr>'); } ?>
     
        <td style="padding:5px 5px 1px 5px;" align="center">
     
    	<a href="photos.php?picture=<?=$id_prog;?>&selec=<?=$v['lien_image'];?>">
    	<img style="border:1px solid #c2c2c2" name="<?=$v['nom_image'];?>" src="<?=$v['lien_image'];?>" width="40" height="40" alt="<?=$v['com_image'];?>" title="<?=$v['com_image'];?>" border="0">
    	</a>
     
    	</td>
      <? $compteur++; } ?>
      </tr>
    </table>
    </div>
    </body>
    </html>
    Apparemment, la meilleure solution est d'utiliser un array mais je ne vois pas comment l'implémenter et récupérer l'affichage de mes photos avec les flèches droite et gauche.
    J'ai essayé diverses choses mais sans succès.
    Y a t il parmi vous quelqu'un qui puisse me mettre sur la bonne voie ?

    Merci à vous.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    je n'ai pas lu ton code, trop long...

    mais sur le principe :

    dans ta fonction selectionpremier, tu ajoutes comme paramètre ton tableau/array galerie
    et dans cette fonction, tu parcours avec un while ou un for cet array jusqu'à y trouver id_prog et tu retiens son indice x.
    Avec les indices x-1 et x+1 tu connais les id_prog précédente et suivante

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 92
    Par défaut
    ok, je te remercie.
    J'ai essayé : j'ai ajouté cette partie dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $resp = "SELECT * FROM galery WHERE galery.idp='$id_prog' ORDER BY id_image ASC";
    $request = mysql_query($resp);
    $tab = mysql_fetch_array($request);
    Le champ dans ma base qui correspond au chemin de mes images est "lien_image".
    Je ne vois pas comment récupérer l'indice de ce champ et l'utiliser pour créer les boutons "précédent" et "suivant" tant qu'il ya des images dans mon dossier.

    est-il préférable d'utiliser le champ id de mes images ?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Citation Envoyé par creatchy
    Je ne vois pas comment récupérer l'indice de ce champ et l'utiliser pour créer les boutons "précédent" et "suivant" tant qu'il ya des images dans mon dossier.
    Pour récupérer ton champ tu fais : $tab['lien_image'];

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 92
    Par défaut
    Merci pour ta réponse mais je ne m'en sors pas. Impossible de comprendre comment passer d'une image à l'autre en cliquant sur un lien (suivant ou précédent), à partir des indices de mon tableau.... je craque

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Tu affiches une image d'ID : X
    L'image d'avant sera d'ID : X-1
    L'image suivante sera d'ID : X+1

    Donc tu peux faire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $id = $tab['id'];
    echo '<a href="viewpicture.php?id='.($id-1).'">Précédent</a> | <a href="viewpicture.php?id='.($id+1).'">Suivant</a>';
    Ensuite tu as juste à vérifier, au début de ta page, si $_GET['id'] contient un chiffre, et tu vas chercher l'image qu'il indique.

    Tu peux, et tu dois, essayer de sécuriser cette idée de base.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gérer la navigation dans un diaporama PowerPoint
    Par Invité dans le forum Powerpoint
    Réponses: 6
    Dernier message: 01/06/2015, 16h08
  2. Navigation dans les tableaux
    Par pthichat dans le forum SWT/JFace
    Réponses: 0
    Dernier message: 28/11/2007, 14h15
  3. [Tableaux] Navigation dans un site
    Par jp76ers dans le forum Langage
    Réponses: 6
    Dernier message: 13/02/2007, 13h37

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