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 :

menu déroulant


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut menu déroulant
    Bonjour,

    Bonjour,


    J'ai le code php suivant dont je me sert pour generer un certain nombre de liens, et
    je voudrais au lieu que ceux ci s'affichent sous forme de liens normaux, qu'ils s'affichent
    sous forme d'un menu déroulant.

    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
     
     
    <?php 
    $sql = ("SELECT DISTINCT ville FROM rotisserie ORDER BY ville"); 
    $result = mysql_query($sql); 
     
    echo '<ul>'; 
     
    while ($row = mysql_fetch_assoc($result)) { 
    echo '<li><a href="rotisserie-'.preg_replace("/ /","-",$row['ville']).'.html">'.$row['ville'].'</li>'; 
     
    } 
     
    echo '</ul>'; 
    ?>

    On m'a grandement aidé pour le code suivant

    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
     
     
    <?php 
     
      // redirection 
     if (!empty($_POST_['load'])) 
     { 
     header("location:".$_POST_['ville'].""); 
     exit(); 
      } 
     
     ?> 
     
     
    <form name="form" action="ville.php" method="post"> 
    <input type="hidden" name="load" value="1"> 
     
    <select name="ville" onchange="form.submit();"> 
    <?php 
    $sql = ("SELECT DISTINCT ville FROM rotisserie ORDER BY ville"); 
    $result = mysql_query($sql); 
     
    while ($row = mysql_fetch_assoc($result)) { 
    echo '<option value="rotisserie-'.preg_replace("/ /","-",$row['ville']).'.html"> '.$row['ville'].' </option>'; 
    } 
     
    ?> 
    </select>
    qui me réalise le menu déroulant comme je le désire, avec toutes les villes présentes, mais le hic, c'est qu'il m'est impossible de cliquer dessus, le pointeur de ma souris indique que c'est seulement du texte, et quand je clique sur le nom d'une ville, rien ne se passe, à part un petit logo en bas de ma page me disant qu'il y a une erreur sur la page.

    Je vous serais tres reconaissant si vous pouviez m'aider, je ne trouve pas la solution.

    Patrick

  2. #2
    Membre éclairé Avatar de B.Moncef
    Étudiant
    Inscrit en
    Août 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 75
    Par défaut
    Je ne suis pas sûr d'avoir bien compris ton problème. Surtout ce à quoi sert ton deuxième code ?

    Tu voudrais que ton code (le premier que tu as posté) t'affiche les liens récupérés à partir de ta base de données dans une liste déroulante ?

    Il suffit simplement de remplacer les balises html que tu affiches (<ul>, <li>) par celles qui correspondent à une liste déroulante (avec quelques petits arrangements bien sûr).

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
     
    $sql = "SELECT DISTINCT ville FROM rotisserie ORDER BY ville"; 
    $result = mysql_query($sql) or die(mysql_error()); 
     
    echo '<select name="nomListe">'; 
    while ($row = mysql_fetch_assoc($result)) { 
        echo '<option value="rotisserie-' . preg_replace("/ /", "-", $row['ville']) . '.html">' 
             . $row['ville'] . '</option>'; 
    } 
    echo '</select>'; 
     
    ?>

    Si tu veux être redirigé vers le lien en value quand tu cliques sur ta liste, tu devras utiliser JavaScript, à l'aide de l'attribut onchange="" appliqué sur ta liste.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut
    Merci de ta réponse,

    c'est tout a fait ce que je veux faire a partir du premier code, on m'a aidé a faire le deuxieme, avec =on change, mais il ne marche pas.

    Je sais je suis nul...

    Avec ton code, ca me fait le menu déroulant nikel, mais les liens ne sont pas cliquables, et je n'arrive pas trop a saisir comment faire.

    Que dois je mettre dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    echo '<select name="nomListe">';
    Le nom de ma table?

    je suis largué. désolé

    Patrick

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Par défaut
    hello,

    donc si j'ai bien compris le problème :

    quand tu clique sur ton menu déroulant, ça ne redirige pas sur la page HTML que tu spécifie dans le value de ton select/option.

    normal.

    ton formulaire, quand il est soumis, renvoie sur villes.php

    <form name="form" action="ville.php" method="post">


    pour faire ce que je crois avoir compris que tu voulais faire, il faut modifier ta balise <option> comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<option onclick="location.href=\'rotisserie-' . preg_replace("/ /", "-", $row['ville']) . '.htm\'">';
    echo $row['ville'];
    echo '</option>';
    avec le code ci dessus, quand tu clique sur une option, le navigateur est redirigé vers la page HTML spécifiée dans le location.href

    ouala, j'espère que j'ai mis le doigt dessus


  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut
    Merci, c'est tout à fait ça

    J'ai décidé néamoins de ne pas utiliser ce menu déroulant, car apparement, google ne suit pas bien ce type de liens ( option, select)
    Je m'en servirais quand meme plus tard, alors je garde précieusement vos indications )

    Merci encore

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

Discussions similaires

  1. recuperation valeur menu déroulant
    Par jerome1 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/06/2005, 12h39
  2. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 09h33
  3. Dimensions d'un Menu déroulant
    Par polo-j dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/02/2005, 15h26
  4. Menu déroulant valeur par défaut
    Par Gourouni dans le forum ASP
    Réponses: 11
    Dernier message: 06/12/2004, 17h31
  5. Menu déroulant suite au passage sur un TMenuItem
    Par James_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/05/2004, 15h31

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