Foros del Web » Programando para Internet » ASP Clásico »

Como paginar un Libro de Visitas

Estas en el tema de Como paginar un Libro de Visitas en el foro de ASP Clásico en Foros del Web. Hola que tal!!! Necesito si alguien me puede ayudar porque necesito paginar un libro de visitas y he probado con el código que se muestra ...
  #1 (permalink)  
Antiguo 18/05/2006, 11:41
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Información Como paginar un Libro de Visitas

Hola que tal!!!
Necesito si alguien me puede ayudar porque necesito paginar un libro de visitas y he probado con el código que se muestra acá en estos foros pero no me ha funcionado
Esta es mi página del libro de visitas:
Código:
<html>
<head>
<title>Libro de Visitas</title>
</head>
<body bgProperties="fixed"
bgcolor="#000000" text="#800000" font="Copperplate Gothic Bold" link="#333333" vlink="#FCE043"
alink="#0000FF" topmargin="0" leftmargin="0" marginwidth="0"
marginheight="0">

<table border="0" cellpadding="5" cellspacing="0" width="779" height="24">
    <tr>
        <td align="center" bgcolor="#F7E688" width="576" height="14"><p align="center">
        <img
        src="gif/anillos.gif"
        width="50" height="50"><font color="#800000" size="5"
        face="Copperplate Gothic Bold"><b>INSTINTO:Nuestro Libro de Visitas</b></font></p>
        </td>
        <td align="center" bgcolor="#F7E688" width="179" height="14"><p align="center"><a
        href="libro.asp"><img
        src="gif/botonactualizar.jpg"
        alt="Recargar" border="0" width="107" height="25"></a></p>
        <p> <a href="#firmar"><img
        src="gif/botonfirmar.gif"
        alt="Firmar" border="0" width="72" height="52"></a><a href="premios.htm"><img
        src="gif/botonvolver.gif"
        alt="***VOLVER A LA PAGINA WEB DE INSTINTO***" border="0"
        width="72" height="52"></a> &nbsp; </p>
        </td>
    </tr>

</table>

<p align="center">
<%
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

if request.querystring("insertado")<> "" then%>
<font color="#FCE043" face="copperplate gothic bold">Tu mensaje ha sido insertado, muchas gracias</font>
<%end if
if request.querystring("borrado")<> "" then%>
<font color="#FCE043" face="copperplate gothic bold">El mensaje seleccionado ha sido borrado</font>
<%end if

datos= Server.MapPath ( "/instinto/bd/librovisitas.mdb" ) 

Set conn= Server.CreateObject("ADODB.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&datos&";"

set rs=createobject("ADODB.Recordset")
'rs.CursorType = adOpenKeyset 
'rs.LockType = adLockOptimistic 

rs.open "select * from visitas order by id desc",conn
if not rs.EOF then
do while not rs.EOF%>
<p align="center">

<table border="0" width="780" bordercolor="#F7E688">
<tr>
<td width="315" bgcolor="#F7E688"><font color="#800000"><b><%=rs("nombre")%></b></font>
</td>


<td width="151" bgcolor="#F7E688">
<%if rs("mail")<>"" then%>
&nbsp;&nbsp;<a href="mailto:<%=rs("mail")%>"><img border="0" src="gif/gb_mail.gif"></a>
<%end if%>
<%if rs("web")<>"" then%>
&nbsp;&nbsp;<a href="http://<%=rs("web")%>"><img border="0" src="gif/gb_www.gif"></a>
<%end if%>
&nbsp;
</td>
<td width="341" bgcolor="#F7E688">
<p align="right"><font size="1" color="#800000"><b><%=rs("fecha")%>&nbsp;</b></font><img border="0" src="gif/gb_time.gif"><a href="deletereg.asp?id=<%=rs("id")%>"><img border="0" src="gif/gb_delmsg.gif"></a>
</p>
</td>
</tr>

<tr>
<td width="322" bgcolor="#C2B8C9">
  <p align="center"><img border="0" src="gif/gb_msg.gif"></p>
</td>
<td width="761" bgcolor="#C2B8C9" valign="top"><font face="Verdana"><font size="2" color="#800000"><b><%=rs("comentarios")%></b></font><br><br>
<font size="1" color="#800000"><b>Host:
<%=rs("ip")%></b></font></font></td>
<td width="352" bgcolor="#C2B8C9">
<font face="Verdana" color="#800000">
<% if rs("Pais")<>"" then%>
<b><font size="1" color="#800000">&nbsp;&nbsp; <u>Pa&iacute;s</u>:&nbsp;</font></b>
</font><font size="1">
<font size="1"><font face="Verdana" color="#800000"><b><%=rs("pais")%></b></font>
<hr>

<p><font face="Verdana" color="#800000">


<%end if%> 

<% if rs("como")<>"" then%>

 <b><u>Como nos conociste?</u>:&nbsp;</b>

 </font>

<font size="1"><font face="Verdana" color="#800000"><b><%=rs("como")%></b></font>
<hr>

<p>


<font face="Verdana" color="#800000">


<%end if%> 
<% if rs("opinion")<>"" then%>

 </font>

<font size="1"><font face="Verdana" color="#800000"><b><u>Edad</u>:&nbsp;</b></font>

<font size="1"><font face="Verdana" color="#800000"><b><%=rs("opinion")%></b></font>
<hr>

<%end if%> 


</font></font></font></font></font> 


</td>
</tr>
</table>

<%rs.movenext
loop
end if

rs.close
conn.close
set rs=nothing
set conn=nothing
%>

<br>
<div align="center">
<center>
<table border="0" width="500" height="462" color=Black>
<tr>
<td width="100%" bgcolor="#F7E688" height="30"><font color="#FFFFFF"><a name="firmar"></a></font><font color="#800000" face="Copperplate Gothic Bold" size="5">Firmar</font></td>
</tr>
<tr>
<td width="100%" height="420" bgcolor="#000000">
<form method="POST" action="firmar.asp">
<table border="0" width="100%" bgcolor="#000000">
<tr>
<td width="30%" align="right"><b><font face="Verdana" color="#FCE043" size="2">Nombre</font></b></td>
<td width="70%"><b><font face="Verdana" color="#FCE043" size="2"><input type="text" name="nombre" size="32" maxlength ="50"></font></b></td>
</tr>
<tr>
<td width="30%" align="right"><b><font face="Verdana" color="#FCE043" size="2">E-Mail</font></b></td>
<td width="70%"><b><font face="Verdana" color="#FCE043" size="2"><input type="text" name="mail" size="32" maxlength ="50"></font></b></td>
</tr>
<tr>
<td width="30%" align="right"><b><font face="Verdana" color="#FCE043" size="2">Web</font></b></td>
<td width="70%"><b><font face="Verdana" color="#FCE043" size="2"><input type="text" name="web" size="32" maxlength ="50"></font></b></td>
</tr>
<tr>
<td width="30%" align="right"><b><font face="Verdana" color="#FCE043" size="2">Pa&iacute;s</font></b></td>
<td width="70%"><b><font face="Verdana" color="#FCE043" size="2"><input type="text" name="pais" size="32" maxlength ="50"> </font> </b> </td>
</tr>
<tr>
<td width="30%" align="right"><b><font face="Verdana" color="#FCE043" size="2">Edad</font></b></td>
<td width="70%"><b><font face="Verdana" color="#FCE043" size="2"><input type="text" name="opinion" size="5" maxlength ="50"></font></b></td>
</tr>
<tr>
<td width="30%" align="right"><b><font face="Verdana" color="#FCE043" size="2">Como nos conociste?</font></b></td>
<td width="70%"><b><font face="Verdana" color="#FCE043" size="2"><input type="text" name="como" size="32" maxlength ="50"></font></b></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><b><font face="Verdana" color="#FCE043" size="4">Mensaje/Comentarios</font></b> </td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><textarea rows="7" name="comentarios" cols="44"></textarea></td>
</tr>
<tr>
<td width="100%" align="center" colspan="2"><input type="submit" value="Enviar" name="enviar">
<input type="reset" value="Borrar" name="borrar"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</center>
</div>


</body>
Desde ya muchas gracias a todos que son unos maestros!!!!
__________________
I'm gonna start a revolution from my bed...
  #2 (permalink)  
Antiguo 18/05/2006, 22:56
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 7 meses
Puntos: 18
Aquí no tienes ninguna rutina de paginado.
Pon la que no te funcione.
  #3 (permalink)  
Antiguo 19/05/2006, 03:57
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
En las FAQ del foro, hay varios ejemplos de paginación. Solo tienes que analizar el código, para poder aplicarlo al libro de visitas.
  #4 (permalink)  
Antiguo 19/05/2006, 07:47
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Este es el ejemplo que intenté fusionar con mi libro de visitas pero no me funcionó :
Código:
<%
Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop
dim datos
mostrar = 10 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

strsql = "SELECT * FROM visitas"

datos= Server.MapPath ( "/instinto/bd/librovisitas.mdb" ) 

Set oconn= Server.CreateObject("ADODB.connection")
oconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&datos&";"



' Creamos el RecordSet y definimos la cantidad de registros a mostrar
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abrimos la tabla...
RS.Open strSQL, oConn,3,1
'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = RS.PageCount

' Si el pedido de página cae afuera del rango,
' lo modificamos para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

' Si la cantidad de páginas da 0 es que no hay registros... por eso este IF
If cant_paginas = 0 Then
Response.Write "No hay registros..."
Else
' Nos movemos a la página elegida
RS.AbsolutePage = pagina_actual
' Mostramos el dato de que página estamos...
%>
<FONT SIZE="+1">Página <B><%= pagina_actual %></B> de <B><%= cant_paginas %></B></FONT>
<%
' Espacios
Response.Write "<BR><BR>" & vbCrLf
'iniciamos la tabla donde mostraremos todo
Response.Write "<TABLE BORDER=""1"">" & vbCrLf
' Mostramos los titulos de las columnas... (pueden sacar ese FOR para eliminar eso)
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD><B>"
Response.Write RS.Fields(I).Name
Response.Write "<B></TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf

' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD>"
Response.Write RS.Fields(I)
Response.Write "</TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf

' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al próximo registro...
RS.MoveNext
Loop

'listo...
Response.Write "</TABLE>" & vbCrLf
End If

' Cerramos y limpiamos...
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing

' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
If pagina_actual > 1 Then
%>
<a href="./paginar.asp?eje=30&page=<%= pagina_actual - 1 %>">[<< Anterior]</a>
<%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
<%= I %>
<%
Else
%>
<a href="./paginar.asp?eje=30&page=<%= I %>"><%= I %></a>
<%
End If
Next 'I

If pagina_actual < cant_paginas Then
%>
<a href="./paginar.asp?eje=30&page=<%= pagina_actual + 1 %>">[Próximo >>]</a>
<%
End If
'Fin...
%>

</BODY>
</HTML>
__________________
I'm gonna start a revolution from my bed...
  #5 (permalink)  
Antiguo 19/05/2006, 08:40
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 5 meses
Puntos: 27
porque no te funcionO?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 19/05/2006, 20:14
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
El problema es que había se ve un bucle infinito que agarraba un solo registro y lo repetía indefinidamente, pero eso no es tanto el problema, sino que cuando cambiaba para mostrar los siguientes registros me aparecía una tabla en la parte superior que me mostraba todos los registros que tenía en la BD.
Gracias por tu ayuda.
__________________
I'm gonna start a revolution from my bed...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:52.