Dans cette fiche... |
Une
petite amélioration du listing
précédent : toutes les informations de la table tblSites sont affichées
et mises en forme dans un tableau HTML.
Le tableau peut être créé au préalable "à vide" dans un éditeur HTML quelconque. Par exemple :
![]() |
WebMaster |
||
URL | |||
Catégorie | Langue | DateEnreg | Note |
Description |
Le listing est un peu indigeste à cause de la multitude de balises HTML !
<%@ LANGUAGE="VBSCRIPT" %> <HTML> <HEAD> <TITLE>Exemple</TITLE> </HEAD> <BODY> <% dim objConnect dim objRecordset set objConnect = Server.CreateObject("ADODB.Connection") objConnect.Open "WebDB" set objRecordset = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM [rqt Sites+Catégorie] ORDER BY DateEnreg DESC;" objRecordset.Open strSQL, objConnect %> <P><FONT FACE="Verdana" COLOR="#004080"><BIG><BIG><STRONG> Liste des sites </STRONG></BIG></BIG></FONT></P> <FONT FACE="Verdana" SIZE="3"> Voici la liste des sites, par ordre chronologique... </FONT> <P> <FONT FACE="Verdana" SIZE="2"> <% Do While not objRecordset.eof %> <!-- Un site --> <DIV ALIGN="center"><CENTER> <TABLE border="0" width="80%" cellspacing="1" cellpadding="2"> <tr> <td width="50%" colspan="2" bgcolor="#004080"><img src="icoTriangleRouge.gif" width="10" height="10"> <font color="#FFFFFF"><strong> <%=objRecordset("NomSite")%> </strong></font></td> <td width="50%" colspan="2" bgcolor="#ECECF4"><p align="right"> <% if objRecordset("WebMaster") <> "" then Response.Write("WebMaster : " & objRecordset("WebMaster")) end if %> </td> </tr> <tr> <td width="100%" colspan="4" bgcolor="#ECECF4"><%=objRecordset("URL")%></td> </tr> <tr> <td width="25%" bgcolor="#ECECF4" align="center"> <%=objRecordset("Catégorie")%> </td><td width="25%" bgcolor="#ECECF4" align="center"> <%=objRecordset("Langue")%> </td> <td width="25%" bgcolor="#ECECF4" align="center"> <%=objRecordset("DateEnreg")%> </td> <td width="25%" bgcolor="#ECECF4" align="center"> <%=objRecordset("Note")%> </td> </tr> <tr> <td width="100%" colspan="4" bgcolor="#D5EAFF"><font color="#000000"> <% if Isnull(objRecordset("Description")) then Response.Write(" ") else Response.Write(objRecordset("Description")) end if %> </font></td> </tr> </TABLE> </CENTER></DIV> <% objRecordset.MoveNext loop set objRecordset=nothing set objConnect=nothing %> </FONT> </P> </BODY> </HTML>
Seules les nouveautés sont commentées.
Les codes entre < et > concernent l'affichage par HTML classique.
objRecordset.Open "SELECT * FROM [rqt Sites+Catégorie] ORDER BY DateEnreg DESC;", objConnect |
Une petite amélioration pour afficher la catégorie : la
requête SQL ne se base plus sur la table tblSites, mais sur une requête
Access créée au préalable. Plus bas dans le code HTML, on fera appel au
champ Catégorie (de la table tblCatégories à l'origine), et non plus au
champ CodeCatégorie (de la table tblSites).
Attention : même si cette requête simplifie la vie, elle peut ne pas passer selon le serveur. Il est conseillé de la remplacer par son équivalent "SQL pur". |
<TABLE border="0" width="80%" cellspacing="1" cellpadding="2"> </TABLE> |
Chaque site est mise en forme grâce à un tableau. Après le tableau, un espace ( ) permet de séparer le site du suivant. Du fait du tableau, le code VBScript de l'exemple précédent se trouve éparpillé en plusieurs endroits de la page. |
<td width="50%" colspan="2" bgcolor="#004080"><img src="icoTriangleRouge.gif" width="10" height="10"> <font color="#FFFFFF"><strong> <%=objRecordset("NomSite")%> </strong></font></td> |
Chaque champ de la requête (ici NomSite) est inséré dans
une cellule du tableau (entre un <TD> et un </TD>. Les autres balises jouent sur la présentation (couleurs, image). |
<% if objRecordset("WebMaster") <> "" then Response.Write("WebMaster : " & objRecordset("WebMaster")) end if %> |
Un petit test par If permet de vérifier si le webmaster est connu, et s'il faut dans ce cas l'afficher avec son intitulé. |
<% if Isnull(objRecordset("Description")) then Response.Write(" ") else Response.Write(objRecordset("Description")) end if %> |
Ce test permet lui aussi de vérifier si la description du
site a été renseignée. Si c'est le cas, on l'affiche, sinon on affiche un
espace ( ). L'intérêt ? Si la cellule du tableau comprend un
espace, elle sera affichée quand même. Pour mieux comprendre, remplacez
toutes ces lignes par : <% =objRecordset("Description") %> |