|
Voici deux exercices
en un: nous allons en même temps apprendre à effectuer des tris à
différents niveaux sur plusieurs champs, et ensuite à afficher les
données de façon conditionnelle. Le tout en seulement 16 lignes de
code.
Notre base de
travail habituelle est toujours structurée comme suit:
| Nom
du champ |
Paramètres |
| Id |
Type
NuméroAuto |
| Nom |
Type
Texte,
Longueur 50 car. |
| Prenom |
Type
Texte,
Longueur 30 car. |
| Age |
Type
Numérique (entier
long) |
Nous voulons afficher
la liste des personnes inscrites, selon trois critères distincts:
leur nom (tri alphabétique), puis leur prénom (tri alphabétique),
puis leur âge (par ordre décroissant). Simplement, pour corser
l'exercice, nous n'afficherons pas l'âge des personnes de moins de 18
ans, et à la place nous afficherons l'image suivante:

(cette image
porte le nom de fichier pm.jpg)
Nous allons
maintenant saisir dans notre table table1
une dizaine d'enregistrements permettant d'effectuer pleinement le
test:
MARTIN Paul, 31ans
MARTIN Paul, 16 ans
MARTIN Henri, 44 ans
PICARD Hervé, 57ans
PICARD Jean-Luc, 13 ans
DURAND Ginette, 68 ans
DURAND Ginette, 11 ans
LECLERC Yves, 37 ans
LECLERC Jean, 37 ans
LECLERCQ Jean, 37 ans
Dans notre page ASP,
nous commençons par effectuer le tri dans la base.
<%
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
SQLQuery = "SELECT * FROM table1 order by Nom, Prenom, Age DESC"
Set RS = OBJdbConnection.Execute(SQLQuery)
%>
Ensuite nous affichons
les données:
<% Do While NOT RS.EOF
%>
<% =rs("Nom") %> <% =rs("Prenom") %>
<% If rs("Age") < 18 Then %>
<IMG SRC="pm.jpg">
<% Else %>
<% =rs("Age") %> ans
<% End If %>
<br>
<% rs.movenext
Loop%>
Et comme d'habitude,
on n'oublie pas de fermer la connection:
<% rs.close
set rs = nothing %>
Voici le résultat:
DURAND Ginette 68 ans
DURAND Ginette 
LECLERC Jean 37 ans
LECLERC Yves 37 ans
LECLERCQ Jean 37 ans
MARTIN Henri 44 ans
MARTIN Paul 31 ans
MARTIN Paul 
PICARD Hervé 57 ans
PICARD Jean-Luc
|