alguien tiene?

08/09/2004 - 08:22 por Magali Sigal / Las Canitas.net | Informe spam
hay muchos ejemplos pero ninguno me llega a convencer... alguien tiene un
ejemplo de PAGINAR RESULTADOS de una cosnulta en varias paginas, alg o asi
como 5 registros por pagina,,,
bueno si alguien dispone envieme,
mil gracias a todos por su ayuda.
 

Leer las respuestas

#1 Omar Valdovino
08/09/2004 - 16:53 | Informe spam
Lo unico que debes hacer es revisar los mensajes del grupo y te daras cuenta
de que ya se ha tocado el tema algunas veces. Yo deje un ejemplo el dia 27
bajo el titulo Paginacion y Criterios de Busqueda.

Un poco de codigo. Es tomando los Registros de un Archivo de Excel, que
seria muy similar a usar SQL server, mysql, Access.

Este ejemplo tiene un detalle, y es que no respeta el numero de la pagina
usando un campo oculto, lo que hice fue reemplazar dicho campo por un text
de solo lectura en el que muestro la pagina actual algo como pagina N de M.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<script language="JavaScript" type="text/JavaScript">
function Reiniciar()
{
if(document.filtro.pagina)
document.filtro.pagina.value = 1;
document.filtro.submit();
}
function Enviar()
{
if(document.filtro.pagina)
document.filtro.pagina.value = 1;
document.filtro.submit();
}
function Siguiente()
{
document.filtro.pagina.value=parseInt(document.filtro.pagina.value) + 1;
document.filtro.submit();
}
function Anterior()
{
document.filtro.pagina.value=parseInt(document.filtro.pagina.value) - 1;
document.filtro.submit();
}
function Inicio()
{
document.filtro.pagina.value=1;
document.filtro.submit();
}
function Fin()
{
document.filtro.pagina.value=document.filtro.total.value;
document.filtro.submit();
}
function valida(txtcaja)
{
if (txtcaja.value.indexOf("'")>-1)
{
alert("El campo de Búsqueda contiene un apóstrofe y es imposible
continuar");
return false;
}
return true;
}
</script>

<html>
<%
dim AdoCon, AdoRs, StrQuery,txtCriterio,cboCriterio, lngTotal
Const adCmdText = &H0001
Const adOpenStatic = 3

set AdoCon=server.CreateObject("ADODB.Connection")
set AdoRs=server.CreateObject("ADODB.Recordset")

AdoRs.PageSize = 24
AdoRs.CursorLocation=3
AdoRs.CursorType=3


AdoCon.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&
Server.MapPath("./Archivo.xls")&";Extended Properties=""Excel
8.0;HDR=Yes;IMEX=1""")

StrQuery="Select * From [Hoja1$] "

txtCriterio = request.form("txtCriterio")
cboCriterio=request.form("cboCriterio")

if cboCriterio <> "" and cboCriterio<>"1" then
strquery= strquery &" Where"
select case cboCriterio
case "2"
strquery=strquery & " Talon like '%"& txtCriterio &"%'"
case "3"
strquery=strquery & " Referencia like '%"& txtCriterio &"%'"
case "4"
strquery=strquery & " Destinatario like '%"& txtCriterio &"%'"
case "5"
strquery=strquery & " Factura like '%"& txtCriterio &"%'"
case "6"
strquery=strquery & " Entrega like '%"& txtCriterio &"%'"
case "7"
strquery=strquery & " Recibio like '%"& txtCriterio &"%'"
case "8"
strquery=strquery & " Ciudad like '%"& txtCriterio &"%'"
end select
end if

Pagina = Request.form("pagina")
if cint(pagina) < 1 or pagina = "" then
pagina = 1
end if
AdoRs.Open StrQuery,AdoCon,adOpenStatic,adCmdText

%>
<head>
<title>Paginacion de Registros</title>
<meta http-equiv="Content-Type" content="text/html;
</head>
<Body topmargin="0">
<form name="filtro" action="default.asp" method="post" onSubmit="return
valida(txtCriterio);">
<table width="100%" border="0">
<tr>
<td height="20" colspan="2"><div align="center"><font color="#0066FF"
size="-6" face="Verdana, Arial, Helvetica, sans-serif">
Buscar por: </font>
<select name="cboCriterio" id="cboCriterio">
<option value="1" <%if cboCriterio="1" then%> selected<%End
if%>></option>
<option value="2" <%if cboCriterio="2" then%> selected <%End if%>>No.
Tal&oacute;n</option>
<option value="3" <%if cboCriterio="3" then%> selected<%End
if%>>Referencia</option>
<option value="4" <%if cboCriterio="4" then%> selected<%End
if%>>Destinatario</option>
<option value="5" <%if cboCriterio="5" then%> selected<%End
if%>>Fecha de Factura</option>
<option value="6" <%if cboCriterio="6" then%> selected<%End
if%>>Fecha de Entrega</option>
<option value="7" <%if cboCriterio="7" then%> selected<%End
if%>>Recibi&oacute;</option>
<option value="8" <%if cboCriterio="8" then%> selected<%End
if%>>Ciudad Destino</option>
</select>
<input name="txtCriterio" type="text" size="15"
value=<%=request.form("txtCriterio")%>>
<input type="button" name="BtnFiltro" value="Búsqueda"
onClick="Enviar();">
<input type="button" name="BtnQuitar" value="Reiniciar"
onClick="location.href='default.asp'">
<input type="hidden" name="pagina" value=<%=int(pagina)%>> 'Aqui hay
un problema y aun no se porque, solo funciona completamente si uso un text
en lugar de un hidden
</div>
</td>
<td width="150" align="right" valign="bottom"><div align="right"><font
color="#0066FF" size="-6" face="Verdana, Arial, Helvetica, sans-serif">
<% response.Write(adors.Recordcount)
total= adors.Recordcount / AdoRs.Pagesize
if adors.Recordcount mod AdoRs.Pagesize <>0 then
total=fix(total) + 1
end if
%>
Registros Encontrados</font></div>
</td>
</tr>
</table>
<table width="100%" border="0">
<tr bgcolor="#EEEEEE">
<td align="center"><font color="#0066CC" size="-2" face="Verdana,
Arial, Helvetica, sans-serif">No. Tal&oacute;n</font></td>
<td align="center"><font color="#0066CC" size="-2" face="Verdana,
Arial, Helvetica, sans-serif">Referencia</font></td>
<td><font color="#0066CC" size="-2" face="Verdana, Arial, Helvetica,
sans-serif">Destinatario</font></td>
<td width="11%" align="center"><font color="#0066CC" size="-2"
face="Verdana, Arial, Helvetica, sans-serif">Fecha Factura</font></td>
<td width="11%" align="center"><font color="#0066CC" size="-2"
face="Verdana, Arial, Helvetica, sans-serif">Fecha Entrega</font></td>
<td><font color="#0066CC" size="-2" face="Verdana, Arial, Helvetica,
sans-serif">Recibi&oacute;</font></td>
<td><font color="#0066CC" size="-2" face="Verdana, Arial, Helvetica,
sans-serif">Ciudad Destino</font></td>
</tr>
<%
if not (adors.eof=true and adors.bof=true) then
Adors.AbsolutePage = pagina
end if

for i=1 to 24
if AdoRs.Eof=True then
Exit For
end if
'Aqui lleno el Contenido de la Tabla
AdoRs.MoveNext
Next

%>
</table>
<table width="100%">
<tr>
<td colspan="2" bgcolor="#eeeeee" height="13" width="100%">
</td>
</tr>
<tr>
<td width="50%">
<div align="left"><font color="#0066FF">
<%
if Total="" then
total=0
end if
%>
Página <%=Pagina%> de <%=Total%>
<input type="hidden" name="total" value="<%=Total%>"></font></div>
</td>
<td width="50%">
<div align="right">
<%if int(pagina) > 1 then%>
<input type="button" name="BtnInicio" value="Inicio"
onClick="Inicio();">
<input type="button" name="BtnAtras" value="Anterior"
onClick="Anterior();">
<%end if%>
<%if int(pagina) < Adors.PageCount then%>
<input type="button" name="BtnSiguiente" value="Siguiente"
onClick="Siguiente();">
<input type="button" name="BtnUltima" value="Ultima"
onClick="Fin();">
<%
end if
AdoRs.Close
Set AdoRs=Nothing
AdoCon.Close
Set AdoCon=Nothing
%>
</div>
</td>
</tr>
</table>
</form>
</body>
</html>


"Magali Sigal / Las Canitas.net" escribió en
el mensaje news:u$
hay muchos ejemplos pero ninguno me llega a convencer... alguien tiene un
ejemplo de PAGINAR RESULTADOS de una cosnulta en varias paginas, alg o asi
como 5 registros por pagina,,,
bueno si alguien dispone envieme,
mil gracias a todos por su ayuda.


Preguntas similares