Paginacion y Criterios de Busqueda????

26/08/2004 - 19:09 por Omar Valdovino | Informe spam
Hola a todos:

Tengo una pagina la cual me presenta un listado con registros que jalo
de una BD, los registros son demasiados por lo que implemente un area de
filtrado para que el usuario busque mas rapidamente un registro dado, con
esto lo solucione a medias ya que la cantidad de registros que trae la
busqueda pueden ser bastantes, entonces se me ocurrio que los presente con
paginacion. Todo bien hasta la busqueda o hasta la paginacion, es decir, la
busqueda funciona bien, la paginacion funciona bien, pero ambas por separado
ya que no logro hacer que funcionen a la vez.

Mas especifico, busco los registros de una fecha, me presenta la primer
pagina de esos registros, pero al pasar a la siguiente pagina se pierden los
criterios de busqueda debido a que la paginacion la hago con unas ligas que
me pasan un parametro, pero lo que necesitaria seria que enviaran los
valores de la busqueda tambien. Espero haberme explicado.

Preguntas similare

Leer las respuestas

#6 Omar Valdovino
27/08/2004 - 17:30 | Informe spam
Ahora lo unico que hice fue cambiar los hidden por text de solo lectura y
listo.

"Omar Valdovino" escribió en el
mensaje news:
Un poco de codigo. Es tomando los Registros de un Archivo de Excel, que
seria muy similar a usar SQL server, mysql, Access.

Aun tiene un detalle y es que al principio me presenta la primera pagina


de
una busqueda sin criterios, si yo navego es decir si en la pagina 3 hago


una
busqueda no consigo que los resultados los presente a partir de la pagina
uno, sino que presenta la pagina 3 de la busqueda, claro si dicha busqueda
no completa 3 paginas pues no presenta nada, abria que retroceder a la
pagina anterior para ver los registros. Funciona bien si en lugar de usar
Hidden para almacenar el valor de la pagina actual uso un Text. :S

<%@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>



"David" escribió en el mensaje
news:083701c48c1f$7324e890$
Yo estoy con el mismo problema.
Si me dices como lo haces, te lo agradezco.
Salu2
>Ya lo resolvi, creo que solo le tenia que dedicar un poco
mas de tiempo.
>
>Mandaba los criterios de busqueda en un form y el numero
de la pagina con
>parametros entonces pase todo al form y listo.
>
>"Franco Figún" escribió en el
mensaje
>news:#1wlD$
>> Y como estas pasando los criterios?
>> Podrías mostrar algo de tu codigo?
>>
>> FF
>> www.francofigun.com.ar
>> Yahoo MSN:
>> ICQ: 314408886
>> "Omar Valdovino"
wrote in message
>> news:O#
>> > Hola a todos:
>> >
>> > Tengo una pagina la cual me presenta un listado
con registros que
>jalo
>> > de una BD, los registros son demasiados por lo que
implemente un area de
>> > filtrado para que el usuario busque mas rapidamente
un registro dado,
>con
>> > esto lo solucione a medias ya que la cantidad de
registros que trae la
>> > busqueda pueden ser bastantes, entonces se me ocurrio
que los presente
>con
>> > paginacion. Todo bien hasta la busqueda o hasta la
paginacion, es decir,
>> la
>> > busqueda funciona bien, la paginacion funciona bien,
pero ambas por
>> separado
>> > ya que no logro hacer que funcionen a la vez.
>> >
>> > Mas especifico, busco los registros de una fecha,
me presenta la
>> primer
>> > pagina de esos registros, pero al pasar a la
siguiente pagina se pierden
>> los
>> > criterios de busqueda debido a que la paginacion la
hago con unas ligas
>> que
>> > me pasan un parametro, pero lo que necesitaria seria
que enviaran los
>> > valores de la busqueda tambien. Espero haberme
explicado.
>> >
>> >
>> >
>>
>>
>
>
>.
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida