Listes déroulantes (1/2)
En réponse à vos questions sur les <select> !
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" !
Rappels HTML
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(); ?>
Didier le
08/05/2003
(273 716 hits)
Au fil des news [MAJ] Inscription contrôlée à une NewsLetter ou Service - Abonnement avec confirmation et désabonnement Correction d'un point-virgule manquant (merci de m'avoir obligé à chercher JPierre) dans le module ... [MAJ] PHP - Administrer en ligne - Protection des pages Ajout d'un code de validation généré aléatoirement. PHP - Premier lundi d'une semaine et d'une année JavaScript - Premier lundi d'une semaine et d'une année ASP - Premier lundi d'une semaine et d'une année Alphabet Radio et Code Morse - Alpha Zulu appelle Tango Charlie ! Encoder-Décoder en "Alphabet Radio" ... "Alpha Zulu appelle Tango Charlie !" ou en Code Morse ... ... Filtrer les modèles de site SharePoint - Filtrer l'affichage des modèles de site SharePoint Je vous propose de découvrir à l'aide de cet article quels mécanismes peuvent vous permettent de ... ASP/PHP - Crypter/Décrypter - par table de correspondance (ASP/PHP) Une méthode pour crypter/décrypter des données par l'utilisation d'une table de ... PHP - Listes liées (1 table) - version2 JavaScript - Rendre Visible ou Invisible des éléments d'un form PHP - Listes liées (1 table) - version1 JavaScript - Intercepter le click sur vidéo WMP ou flash SWF [MAJ] Une base de données sans base de données - Comment travailler avec des fichiers texte ? Modification du paramétrage du dossier à scanner dans le popup qui permet de sélectionner l'image. Jeux de l'été (et de 5) - Un jeu de Motus (mots de 8 lettres) C'est reparti pour un tour... Comme je venais de proposer un jeu de Mastermind, je me suis dit que, ... PowerShell - Extraire toutes les collections SharePoint en CSV PowerShell - Lister les collections pour une WebApp SharePoint PowerShell - Lister les utilisateurs d'un site SharePoint PowerShell - Connaître le code version de votre SharePoint Connaître la version de SharePoint installée - Comment savoir la version de SharePoint en cours Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître ... PowerShell - Travailler avec une base de données SQL Server .NET - Visual Studio 2008 sur Facebook : çà rock's PowerShell - Ajouter des liens sur deux niveaux dans SharePoint Un petit annuaire perso avec photo - en PHP et MySQL Avoir des copains et des amis c'est bien que dis-je c'est même vital pour le bien être de chacun. ... Une base de données sans base de données - Comment travailler avec des fichiers texte ? Suite à une question sur le forum (les habitués me connaissent), je propose une mini-gestion de ... ASP/PHP : Affichage de données en tableau html - Afficher proprement des données dans un tableau Création d'un tableau "à la volée" pour afficher ses données. Affichage "en ligne" ou "en ... PowerShell - Ajouter une liste dans un site SharePoint Annuaire d'entreprise en PHP - Très pratique pour ne plus rien perdre Mon petit annuaire d'entreprise, je m'en sers tous les jours alors autant vous en faire profiter. ... PHP-MySQL : Formulaire - pour le script 'Bon anniversaire' de DB77 Formulaire et script d'enregistrement pour le script « Bon anniversaire » de DB77 en PHP/MySQL ... .NET - Introducing Microsoft Silverlight 2.0, 2nd Edition PHP5 - Upload de fichiers - Classe PHP PHP - PHP 5 /MYSQL® 5 PHP - Calcul de la surface d'un polygone Comment supprimer des items d'une liste SharePoint - Supprimer les informations d'une liste SharePoint SharePoint permet bien sur de stocker des données. Parfois, on peut vouloir effacer certaines de ... Dreamweaver CS4 - Nouvelle version Béta Voici la nouvelle mouture, annoncée en juin, juste 6 mois après la sortie de la version CS3. Je ... PowerShell - Synchronisation répertoire par répertoire PowerShell - Ajouter des items dans une liste SharePoint Localisation des développements avec SharePoint - Rendre ses applications SharePoint internationales Lorsque l'on développe des applications avec SharePoint, on se confronte très souvent à une ... PowerShell - Supprimer tous les items d'une liste SharePoint PowerShell - Vider la Corbeille SharePoint d'une collection Modification de l'adresse du Search Center - Définir la page de résultat d'une ferme MOSS Lorsque l'on installe MOSS dans une ferme SharePoint et que l'on configure le moteur de recherche ...