Nous prenons comme exemple le formulaire qui permet d'interroger la base de données 'Information sur la recherche éducationnelle' qui se trouve à l'adresse suivante: http://agora.unige.ch/csre/info/msql/index.html.
Voici le formulaire tel qu'il apparaît dans Netscape. L'utilisateur peut entrer des mots-clé, choisir des items dans des listes à choix multiple et spécifier le nombre d'enregistrements qu'il souhaite voir sur l'écran.
Voici le code HTML (les tags relatifs à la mise en forme du formulaire dans un tableau ont été enlevés pour plus de lisibilité).
Les champs obligatoires dans les formulaires sont décrits ci-dessous. Soit l'utilisateur peut les définir lui-même, soit vous les spécifiez en les définissant avec un tag caché <input type=hidden name=nom_du_champ value=votre_valeur>. (Les champs maxrow et output_type sont des champs cachés dans l'exemple ci-dessous):
action indique l0URL du script qui va traiter le formulaire.
boolean peut prendre soit la valeur " OR " soit " AND " (espaces!). Ce paramètre spécifie le connecteur logique qui relie les mots-clé spécifiés dans le champ query.
query contient les mots-clé entrés par l'utilisateur.
maxrow défini le nombre d'enregistrements affichés sur un écran de résultats. Si le nombre d'enregistrements retournés par mSQL est supérieur à ce nombre, un bouton 'Show next records' permet de voir les maxrow enregistrements suivants.
output_type peut prendre soit la valeur LIST soit la valeur TABULAR. Lorsque LIST est sélectionné, les champs des enregistrements sont affichés les uns après les autres. Lorsque TABULAR est sélectionné, les champs des enregistrements sont affichés dans une table HTML.
Les champs vonChoice et bisChoice sont spécifiques à notre exemple. Ils font référence à des listes à choix multiples. Voir la section "Choix multiples HTML" à la page 16.
<form name="queryForm" action="http://tecfa.unige.ch/cgi-bin/agora/info-ed-96/info-ed-query-result.py" method=post> <strong>QUERY</strong> <input type=radio name=boolean value=" OR ">OR <input type=radio name=boolean value=" AND ">AND <input type=text size=40 name=query> <input type=button value="GO !" onClick="makeQuery(this.form)"> <strong><i>Anfang des Projekts - <br>Début de la recherche </i></strong><p><i>(Utilisez Ctrl-Click pour <br>sélectionner plusieurs éléments)</i> <select name=vonChoice multiple size=7> <option selected>-- ALL -- <option>1996 <option>1995 etc.. <option>1991 <option>1990 <option>1989 </select> <strong><i>Ende des Projekts - <br>Fin de la recherche</i></strong> <select name=bisChoice multiple size=7> <option selected>-- ALL -- <option>1996 <option>1995 <option>1994 etc... <option>1990 <option>1989 </select> <strong>DISPLAY</strong> <input type=text name=maxrow size=2 value=20> Rows <input type=hidden name=output_type value="LIST"> </form>