> Manuales > Libro de visitas ASP y Access

Página inicial del libro de visitas donde se muestran los últimos 15 mensajes recibidos.

Esta página se encarga de mostrar los mensajes que contiene el libro de visitas. También es la que se encarga de ordenarlos según las preferencias del usuario.

Lo primero que se hace es definir las variables "orden" y "tipo".

Orden: se refiere a si los resultados serán ordenados por fecha, asunto, autor, etc...

Tipo: si los resultados deben mostrarse en forma ascendente o descendente.
Luego se definen las variables correspondientes a la paginación de resultados. Posteriormente se crea la conexión a la BD y se muestran los mensajes.

Default.asp

<html>
<head>
<title>Ver libro de visitas</title>
<style>
<!--
p { margin-top: 0; margin-bottom: 0 }
select { font-family: Arial; font-size: 7pt }
input { font-family: Arial; font-size: 7pt; height:17; }
-->
</style>
</head>

<body>
<%
orden = request.querystring("orden")
tipo = request.querystring("tipo")
if orden = "" then
orden = "Fecha"
end if
if tipo = "" then
tipo = "desc"
end if

Dim mostrar
Dim cant_paginas
Dim pagina_actual
Dim registro_mostrado
Dim I
mostrar= 15 'indicar la cantidad de mensajes a mostrar por página.
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

strsql="select * from mensajes order by "& orden & " "&tipo
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("libvis.mdb")

Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

RS.Open strSQL, oConn,3,1
cant_paginas = RS.PageCount

If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
%>
<form method="GET" action="Default.asp">
<p align="left"><font size="6" face="Arial">Libro de Visitas</font></p>
<p> </p>
<p align="left"><font face="Arial" size="1">Ordenar por </font>

<select size="1" name="orden">
<option value="Fecha">Fecha</option>
<option value="Asunto">Asunto</option>
<option value="Nombre">Nombre</option>
<option value="Pais">País</option>
</select>

<select size="1" name="tipo">
<option value="asc">Ascendente</option>
<option value="desc">Descendente</option>
</select>

<input type="submit" value="enviar">

<p align="left"><font face="Arial" size="1">
<a href="firmarlibro.asp">FIRMAR LIBRO</a>
</font>
<p> </p>
<hr>
<%If cant_paginas = 0 Then%>
<p align="center"><font face="Arial">El libro de visitas está vacío</font></p>
<%
Else
RS.AbsolutePage = pagina_actual
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF
url = RS("url")
%>
<p><font face="Arial" size="2">
<b>De:</b>
<a href="mailto:<%=rs("email")%>"><%=rs("Nombre")%></a> |
<b>País: </b>
<%=rs("Pais")%> |
<b>Sitio web: </b>
<a target="_blank" href="<%=url%>"><%=url%></a></font></p>
<p><font face="Arial" size="2">
<b>Enviado el: </b>
<%=rs("Fecha")%></font></p>
<p><font face="Arial" size="2">
<b>Asunto: </b><font color="red"><%=rs("Asunto")%> </font></p>
<p> </p>
<p><font face="Arial" size="2">
<%=rs("Mensaje")%></font></p>
<p align="right">
<input type="button" value="borrar mensaje" onClick="location.href('borrar.asp?id=<%=rs("id")%>')" style="width:75"></p>
<hr>
<%
registro_mostrado = registro_mostrado + 1
RS.MoveNext
Loop
End If
%>
</form>
<p align="center">
<font size="1" face="MS Sans Serif">
<%If pagina_actual > 1 Then %>
<a href="Default.asp?eje=30&page=<%= pagina_actual - 1 %>&orden=<%=request.querystring("orden")%>&tipo=<%=request.querystring("tipo")%>"><< Anterior ]</a>
 
<%
End If
For I = 1 To cant_paginas
If I = pagina_actual Then %>
<b><%= I %></b>
<% Else %>
<a href="Default.asp?eje=30&page=<%= I %>&orden=<%=request.querystring("orden")%>&tipo=<%=request.querystring("tipo")%>"><%= I %></a>
 
<%
End If
Next 'I
If pagina_actual < cant_paginas Then %> </font>
<a href="Default.asp?eje=30&page=<%= pagina_actual + 1 %>&orden=<%=request.querystring("orden")%>&tipo=<%=request.querystring("tipo")%>">
<font size="1" face="MS Sans Serif">[ siguiente >>
<%
End If
'Fin...
%> </font>
</p>
<p align="center"> </p>
<p align="center"><font face="Verdana" size="1">®</font><font face="MS Sans Serif" size="1">LibVis v1.0</font></p>

</body>

</html>

Eugenia Bahit

Analista Programadora LAMP y Scrum Coach

Manual