Designed by Maunakea !
88 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter






   

Listes déroulantes (1/2)

En réponse à vos questions sur les <select> !





Didier
De nombreuses questions ont été posées à ce sujet alors, sans vouloir être exhaustif, quelques réponses... D'autres exemples simples figurent dans la rubrique "SELECT" du tutorial "Formulaires" !

Page 1  2  SUITE >> 
Rappels HTML

  1. La syntaxe de base pour faire apparaître une liste déroulante dans un formulaire est la suivante :
<form name="..." method="..." action="...">
   <select name="...">
      <option>...</option>
      <option>...</option>
      ...
      <option>...</option>
   </select><br>
   <input type="submit" value="OK">
</form>
Exemple -->

<form>
   <select name="liste">
      <option>Choix 1</option>
      <option>Choix 2</option>
      <option>Choix 3</option>
   </select><br>
   <input type="submit" value="OK">
</form>
  • La balise <select> admet quelques attributs dont :
    • MULTIPLE : pour des sélections multiples...
    • NAME : le nom du champ
    • SIZE : le nombre d'items visibles (par défaut 1)
    • DISABLED : pour empêcher la modification de la sélection

  • La balise <option> admet quelques attributs dont :
    • SELECTED : l'item sélectionné (par défaut le premier)
    • VALUE : la valeur à retourner (sinon c'est le texte de l'item)

    Vos questions

  • Comment construire une liste d'après les valeurs d'un champ d'une base de données ?


  • listederoul_1.asp 
    <%URL = _
       request.serverVariables("SCRIPT_NAME")%>

    <!-- #include file="_connexion.asp"-->

    <% ' au réaffichage, on récupère la sélection
    if request.form("liste") <> "" then
       ' traîtement éventuel,
       ' redirection, etc ...
    end if%>


    <%SQL="SELECT * FROM [MA_TABLE]"
    Set RS = server.createobject("ADODB.Recordset")
    RS.Open SQL,Conn , 3, 3%>

    <form name="myform" method="post"
      action="<%=URL%>">
       <select name="liste">
       <%while not RS.eof%>
          <option><%=RS("champ")%></option>
       <% RS.moveNext
       wend %>

       </select>
       <input type="Submit" value="Envoyer">
    </form>
    <% conn.close : Set conn=nothing %>
     


    listederoul_1.php 
    <? $URL = $PHP_SELF;
    include("_connexion.php"); ?>


    <? // au réaffichage, on récupère la sélection
    if($liste) {
       // traîtement éventuel,
       // redirection, etc ...
    } ?>


    <? $table="ma_table";
    $query = "SELECT * FROM $table"; 
    $result = mysql_query($query);
    ?>

    <form name="myform" method="post"
      action="<? echo $URL; ?>">
       <select name="liste">
       <? while ($val = mysql_fetch_array($result)) { ?>
          <option><? echo $val["champ"]; ?></option>
       <? } ?>
       </select>
       <input type="Submit" value="Envoyer">
    </form>
    <? mysql_close(); ?>


  • Comment réafficher la liste au même item que la sélection précédente ?
    Lors de la construction de la liste, on teste si l'item est égal au paramètre et si oui, on utilise SELECTED !
  • listederoul_2.asp 
    <%URL = _
       request.serverVariables("SCRIPT_NAME")%>

    <!-- #include file="_connexion.asp"-->

    <%SQL="SELECT * FROM [MA_TABLE]"
    Set RS = server.createobject("ADODB.Recordset")
    RS.Open SQL,Conn , 3, 3%>

    <form name="myform" method="post"
      action="<%=URL%>">
       <select name="liste">
       <%while not RS.eof%>
          <option
          <%if RS("champ") = request.form("liste") then%>
             SELECTED
          <%end if%>
          ><%=RS("champ")%></option>
       <% RS.moveNext
       wend %>

       </select>
       <input type="Submit" value="Envoyer">
    </form>
    <% conn.close : Set conn=nothing %>
     
    listederoul_2.php 
    <? $URL = $PHP_SELF;
    include("_connexion.php"); ?>


    <? $table="ma_table";
    $query = "SELECT * FROM $table"; 
    $result = mysql_query($query);
    ?>

    <form name="myform" method="post"
      action="<? echo $URL; ?>">
       <select name="liste">
       <? while ($val = mysql_fetch_array($result)) { ?>
          <option
          <? if($liste==$val["champ"]) { ?>
             SELECTED
          <? } ?>
          ><? echo $val["champ"]; ?></option>
       <? } ?>
       </select>
       <input type="Submit" value="Envoyer">
    </form>
    <? mysql_close(); ?>
    Page 1  2  SUITE >> 

    Pour pouvoir écrire dans ce forum, identifiez-vous !

     Lire  17/07/03 10:20 de damienw
    Salut à tous ! J'ai pris l'exemple de la page 2 pour...
  • 17/07/03 11:21 de Ludo C'est des listes DEPENDANTES, car reliées e...
  • 17/07/03 11:43 de Didier Ca va faire un méchant paquet de données...
  • 17/07/03 11:51 de damienw > Ludo Oui oui dépendante, c'est ce ...
  • 17/07/03 11:55 de Aurelien jvé finir par faire une class qui tra...
  • 17/07/03 13:04 de Ludo Aller je te laisse faire, je vois bien que ...
  • 18/07/03 10:52 de damienw Je suis toujours encore prenant si que...
  • 18/07/03 10:57 de Aurelien J'imagine bien daminew :) Je verrais...
  • 18/07/03 11:51 de Aurelien bon alors finalement c fé :) Par con...
  • 18/07/03 12:51 de Didier Excellent, bravo !!!
  •   v1.3p © ASP-PHP.net 2002  

    Didier le 08/05/2003 (290 589 hits)
    Didier Téléchargez gratuitement et légalement des logiciels Microsoft ! Si, si ;)
    • Visual Studio 2010
    • Office 2010
    • Expression Studio 3
    • SQL Server 2008
    • et d'autres...
    Au fil des news  
    Magazines - Le N°128 de Programmez est disponible
    Magazines - Le N°127 de Programmez est disponible
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6
    Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ...
    Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1
    JavaScript - Ajouter une page dans vos favorites
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 -
    Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ...
    SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint
    Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ...
    Magazines - Le n°126 de Programmez est disponible
    Outils - Traducteur en ligne automatique pour site web
    Adobe - Adobe Photoshop.com Mobile pour Iphone
    Magazines - Le n°125 de Programmez est disponible
    Adobe - Adobe AIR 2 et Flash Player 10.1version bêta
    Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements
    Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ...
    Magazines - Le n°124 de Programmez est disponible
    PHP - Forum PHP 2009
    Composants - eFace - XAML en Java
    WPF - Désactiver le bouton de réduction d'une fenêtre
    Magazines - Le n°123 de Programmez est disponible
    Magazines - Le n°122 de Programmez est disponible
    Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint
    Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ...
    SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0
    Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ...
    Magazines - Le HS N° 1 de Web Design est disponible
    Adobe - Adobe propose en Open Source les frameworks.....
    Outils - EntityBuilder
    CSharp - Sérialisation XML de vos objets
    Magazines - Le n°121 de Programmez est disponible
    Adobe - Adobe annonce MAX 2009 !
    Outils - WhoIs
    [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3
    Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ...
    PHP - News avec photo - Système de gestion - affichage
    Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ...
    Outils - Crypt
    Dreamweaver Php Mysql - Région répétée imbriquée
    Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ...
    Magazines - Le n° 120 de Programmez est disponible
    Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données
    Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ...
    PHP - Le Coach PHP sur Visual Studio
    .NET - Ecrire une application .NET utilisant MySQL
    PHP - Utilisation de PHP dans le monde Microsoft
    Magazines - Le n° 119 de Programmez est disponible
    Adobe - Adobe annonce Photoshop Marketplace
    [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0
    Mis à jour le 20/04/2009
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3b © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     ASP-magazine MVP DotNet Project TechNet Groupes Utilisateurs Microsoft