Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2004, 14:26
edanga
 
Fecha de Ingreso: marzo-2004
Mensajes: 12
Antigüedad: 21 años, 1 mes
Puntos: 0
Paginación de resultadode una busqueda

Que tal, estoy realizando una página de acceso a datos con su respectiva opción de búsqueda en ASP, se realiza la búsqueda correctamente y de igual forma me muestra la cantidad de páginas con los resultados que se encontraron, el problema esta en que cuando le doy clic a "siguiente" para que me muestre la segunda página de resultados, lo que me muestra es la segunda página de mi paginación en general. Espero me haya explicado y me puedan ayudar por favor.

Si pueden poner un ejemplo en mi paginación se agradecería mucho.


Aqui esta el código:



<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1">
</head>

<body>
<div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Directorio
Consejo Mexicano de Genética</font></strong></div>


<form method="Post" action="Geneticaok6.asp">
<input type="text" name="Criterio" size="20">
<input type="radio" value="V1" checked name="Tipo">
<input type="radio" name="Tipo" value="V2">
<input type="submit" value="Buscar" name="boton1">
<input type="reset" value="Restablecer" name="boton">
</form>


<%

Dim oConn, rs, SQL
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' la cuenta que os he mencionado



'MODIFICAR AQUI PARA CAMBIAR EL Nº DE REGISTRO POR PAGINA
TamPagina=5

'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if

'Creamos los objetos y definimos las propiedades del Recordset.


set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

' Conexión por OLEDB
oConn.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+Server.MapPath("Genetica.mdb"))
SQL="SELECT paterno, materno, nombre, situacion, Calle_numero, Colonia, CP, Cd_Pob, Estado, Telefono FROM Especialistas"


Rango=Request("Tipo")
If Rango="1" Then
SQL="Select paterno, materno, nombre, situacion, Calle_numero, Colonia, CP, Cd_Pob, Estado, Telefono From Especialistas Where UCase([paterno])='" & UCase(Request("Criterio")) & "'"
Else
SQL="Select paterno, materno, nombre, situacion, Calle_numero, Colonia, CP, Cd_Pob, Estado, Telefono From Especialistas Where InStr(UCase([paterno]),'" & UCase(Request("Criterio")) & "')>0"
End If



' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina


' Abro el recordset
rs.Open SQL, oConn, 1, 2

'Cuento las páginas
PaginasTotales=rs.PageCount

'Compruebo que la pagina actual está en el rango
if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if


'Por si la consulta no devuelve registros!
if PaginasTotales=0 then

Response.Write("No se encontraron resultados.")

else

'Vamos a paginar
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de " & PaginasTotales)
Response.Write("<br><br>")
Response.Write("<TABLE BORDER=""1"">")
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Paterno</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Materno</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Nombre</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Situación</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Calle</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Colonia</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>C.P.</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Ciudad/Población</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Estado</strong></font></div></TD>" & vbCrlf )
Response.Write( "<TD><div align=""center""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif""><strong>Teléfono</strong></font></div></TD>" & vbCrlf )

CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
'Pinto una línea de la tabla por cada registro
Response.Write("<TR>"&VbCrLf)
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("paterno")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("materno")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("nombre")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("situacion")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("Calle_numero")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("Colonia")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("CP")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("Cd_Pob")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("Estado")&"</TD>")
Response.Write("<TD bordercolor=""#CCCCCC""><font size=""2""face=""Verdana, Arial, Helvetica, sans-serif"">"&rs.Fields("Telefono")&"</TD>")
Response.Write("</TR>")
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
Response.Write("</TABLE>")

end if
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing


'Muestro los enlaces


Response.Write("<hr>")
if PaginaActual > 1 then

Response.Write("<A HREF=./Geneticaok6.asp?pagina="& PaginaActual-1& ">Anterior</A> ")
end if

if PaginaActual < PaginasTotales then
Response.Write("<A HREF=./Geneticaok6.asp?pagina=" & PaginaActual+1 & ">Siguiente</A>")
end if




%>
</div>

<br><center><font face="Arial" size="1"><a href="Geneticaok6.asp">Buscar de nuevo</font><font size="2"><a/>
</a></font>


</body>
</html>