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 html


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut Liste déroulante html
    bonjour,

    j'utilise des listes déroulantes basées sur un contenu de base mysql.

    Tout fonctionne bien. J'aimerai néanmoins améliorer ces listes de cette manière.
    j'aimerai créer une unique liste déroulante comportant 2 informations: un objet et ses sous objets.

    Mais je voudrais que seuls les sous objets soient cliquables. (qu'il soit impossible de sélectionner un objet)
    Est-ce possible de faire cela en html+php
    (j'ai vu cela sur le site d'une boite mais en jsp)

    Merci de votre aide

    Kirk

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    L'élément html '<optgroup>' devrait faire ton affaire.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut
    impeccable, je ne connaissait pas.

    Merci Jeca

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut
    Juste une précision concernant les balise optgroup

    je l'ai inséré dans mon code php... plus précisement dasn une condition + boucle.

    Mon code ne me permet pas de l'insérer de manière correcte.

    voici un bout de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    while (...) 
    {
    if  bidule!=$bidule
    {
    echo ("</optgroup>");
    echo ("<optgroup label="truc">");
    echo ("<option value=\"machin\">".$machin.''</option>");
    }
    else
    {
    echo ("<option value=\"machin\">".$machin.''</option>");
    }
    ça marche très bien, mais comme vous pouvez le voir, pour la 1ère itération je commence d'abord par fermer la balise avant de créer mon 1er optgroup.

    Pour les suivantes, pas de pb, mais c'est pour la 1ère boucle.

    Puis-je laisser comme ceci sachant que cela à l'air de fonctionner parfaitement (sous IE et FF). (au début je n'avais pas mis de balise fermante pour le optgroup, mais c'est apparemment fortement conseillé

    merci

    PS: j'avais testé en inversant la condition (commencer par bidule==$bidule) mais cela me rallonge mon code de 6 lignes...)

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $rupture = "";
    while (...) 
    {
    if  ($bidule != $rupture)
    {
      if ($rupture != "") echo ("</optgroup>");
      echo ("<optgroup label="truc">");
      $rupture = $bidule;
    }
    echo ("<option value=\"machin\">".$machin."</option>");
    }
    if ($rupture != "") echo ("</optgroup>");

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut
    merci pour ta réponse...

    ca me fait un peu plus de ligne mais c'est plus propre.

    dernière question:

    je remarque dans ma liste que l'item optgroup n'est pas rendu correct. IL s'agit de ville contenant des espaces.

    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo ("<optgroup label=".$result['Ville'].">");
    ex: "chalon en champagne" j'obtiens "chalon".

    je suis sur qu'il ne s'agit que d'un guillemet manquant ou une connerie comme cela.

    Mais bon

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Par défaut
    et avec ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ("<optgroup label=\"".$result['Ville']."\">");

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut
    effectivement ça marche mieux, mais j'avoue ne pas trop comprendre le principe des double guillemets

    sinon j'avais essayé cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<optgroup label="'.$result['Ville'].'">';
    vaut il mieux utiliser l'une des 2 solutions plutôt que l'autre ou toutes les 2 se valent ?

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Par défaut
    Sans le guillement supplémentaire, le résultat de l'echo sera
    <optgroup label=chalon en champagne> donc en et champagne seront interprétés comme des paramètres (invalides) de <optgroup>.
    Avec le simple guillemet, ou le double avec \ pour l'échapper on aura
    <optgroup label="chalon en champagne">
    edit : le simple guillement pour "envelopper" l'echo permet d'éviter le \", c'est plus pratique pour afficher du code html qui est plein de option="valeur". plus court, plus lisible ...
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<input type="text" name="text1" size="60" maxlenghth="60">';
    // ou
    echo "<input type=\"text\" name=\"text1\" size=\"60\" maxlenghth=\"60\">";

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/03/2012, 18h09
  2. Liste déroulante HTML et préselection
    Par Patrice.H dans le forum 4D
    Réponses: 7
    Dernier message: 30/09/2010, 10h49
  3. Enrichir une liste déroulante HTML
    Par bernes dans le forum VBScript
    Réponses: 2
    Dernier message: 15/09/2010, 16h43
  4. [HTML] Liste déroulante html
    Par pigeon11 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/06/2008, 18h41
  5. [HTML] Liste déroulante
    Par Boeing dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 20/12/2004, 20h16

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