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 :

Liste déroulante pour galerie


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut Liste déroulante pour galerie
    Bonjour,
    J'ais une galerie photo ou les dossiers pour chaque membre sont créés automatiquement à l'inscription.
    Je cherche à voir comment il est possible de créer une liste déroulante répertoriant tous les dossiers créés pour que l'on puisses chercher la galerie d'un membre précis.
    Si vous aviez un tutoriel sur le sujet cela m'aiderais beaucoup.
    Merci d'avance
    webide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    J'ais résolu une partie du problème en créant la liste déroulante mais je n'arrives pas à trouver comment faire pour que cela deviennent des liens.
    Pour la liste déroulante j'ais fait:
    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
    <select nom="cequetuveux"> 
    <?php 
     
     
    if ($handle = opendir('upload/up/')) { 
     
        echo "Files:\n"; 
     
     
        while (false !== ($file = readdir($handle))) { 
            echo'<option value="'.$file.'">'.$file.'</option>'; 
        } 
     
     
        while ($file = readdir($handle)) { 
            echo "$file\n"; 
        } 
     
        closedir($handle); 
    } 
    ?> 
    </select>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 89
    Points : 40
    Points
    40
    Par défaut
    J'ais déjà bien avancé avec la liste déroulante car maintenant elle fonctionnes et me rediriges vers le dossier souhaité.
    Voici d'ailleurs le code
    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
    <html>
    <head>
    <script>
    function Lien() {
    	i = document.Choix.Liste.selectedIndex;
    	if (i == 0) return;
    	url = document.Choix.Liste.options[i].value;
    	parent.location.href = url;
    }
    </script>
    	<title></title>
    </head>
     
    <body>
    <FORM NAME="Choix">
    <SELECT NAME="Liste" onChange="Lien()">
    <?php
     
     
    if ($handle = opendir('upload/up/')) {
     
        echo "Files:\n";
     
     
        while (false !== ($file = readdir($handle))) {
            echo'<option value="'.$file.'">'.$file.'</option>';
        }
     
     
        while ($file = readdir($handle)) {
            echo "$file\n";
        }
     
        closedir($handle);
    }
    ?>
    </select>
    </FORM>
    et pour le visionnage (car pour le moment il m'ouvres le dossier mais sans fichier pour afficher les photos ça bloques) j'ais pensé utiliser un fichier interactif pour les visionner
    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
    <html>
    <head>
    </head>
     
     
    <body background="images/fd.gif">
    <?php include("images.class.php"); ?>
    <?php
     
     
    $images = new images();
    $images->repertoire = '$pseudo';
    $images->nb_par_ligne = 3;
    $images->afficher_liste();
     
     
    ?>
    </body>
    </html>
    et en dernier voici le fichier images.class.php gérant l'affichage
    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
    <?php
     
     
    class images {
     
     
    var $repertoire;
    var $nb_par_ligne;
     
     
    function ajouter_image($image,$nom) {
    if (is_dir($this->repertoire)) {
       if (copy($image, $this->repertoire . "/" . $nom)) return true;
        else return false;
      } else return false;
    }
     
     
     
    function lister_repertoire() {
      $liste = array();
      if (is_dir($this->repertoire)) {
        if ($pointeur = opendir($this->repertoire)) {
          while (($fichier = readdir($pointeur)) !== false) {
            if (!is_dir($this->repertoirte . "/" . $fichier)) {
              $liste[] = $fichier;
            }
          }
          closedir($pointeur);
          return $liste;
        } else return false;
      } else return false;
    }
     
     
    function liste_select() {
      $liste = $this->lister_repertoire();
      for ($i = 0; $i < count($liste); $i++) {
        echo "  <option value=\"$this->repertoire/$liste[$i]\">$liste[$i]</option>\n";
      }
    }
     
     
    function afficher_liste() {
      $liste = $this->lister_repertoire();
      echo "<table summary=\"table d'images\">\n";
      for ($i = 0; $i < count($liste); $i++) {
        $nom = explode(".", $liste[$i]);
        $nom = str_replace("_", " ", $nom[0]);
        $nom = str_replace("-", " ", $nom);
        $nom = strtoupper(substr($nom, 0, 1)) . substr($nom, 1);
        if (round($i/$this->nb_par_ligne) == ($i/$this->nb_par_ligne)) echo "  <tr>\n";
        echo "    <td align=\"center\">" . $this->afficher_image($liste[$i]) . "<br></td>\n";
        if (round(($i+1)/$this->nb_par_ligne) == (($i+1)/$this->nb_par_ligne) || ($i+2) > count($liste)) echo "  </tr>\n";
      }
      echo "</table>\n";
    }
     
     
    function afficher_image($fichier) {
      return "<img width=\"250px\" src=\"" . $this->repertoire . "/" . $fichier . "\" alt=\"" . $fichier . " - " . round((filesize($this->repertoire. "/" . $fichier)/1024), 2) . " ko\">";
    }
     
     
     
     
    }
     
     
    ?>
    Le problème vient surtout de là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<option value="'.$file.'">'.$file.'</option>';
    comment envoyer la personne et que la galerie s'ouvres avec les photos choisies

Discussions similaires

  1. Combinaison de liste déroulante pour créer une requete
    Par jeje22 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/09/2006, 16h23
  2. Réponses: 2
    Dernier message: 01/09/2006, 00h02
  3. Réponses: 41
    Dernier message: 06/02/2006, 23h49
  4. Listes déroulantes pour variables dans un état
    Par Oluha dans le forum Access
    Réponses: 6
    Dernier message: 06/02/2006, 16h09
  5. [composant] liste déroulante pour une propriété ?
    Par BoBoToTo dans le forum Composants VCL
    Réponses: 4
    Dernier message: 24/05/2004, 16h16

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