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

error en paginacion cuando en sql hay un like

Estas en el tema de error en paginacion cuando en sql hay un like en el foro de ASP Clásico en Foros del Web. Tengo una paginacion que cuando en la sql no utilizo el LIKE funciona bien pero si la SQL lleva un LIKE la primera vez presenta ...
  #1 (permalink)  
Antiguo 21/12/2004, 05:52
 
Fecha de Ingreso: junio-2003
Ubicación: Galicia (España)
Mensajes: 40
Antigüedad: 21 años, 11 meses
Puntos: 0
Pregunta error en paginacion cuando en sql hay un like

Tengo una paginacion que cuando en la sql no utilizo el LIKE funciona bien pero si la SQL lleva un LIKE la primera vez presenta todo correcto pero cuando hago pagina siguiente no se que pasa que es como si se olvidara de la condicion de busqueda y me presenta todos los registros paginados.

Se agradecera muchisimo la ayuda.
  #2 (permalink)  
Antiguo 21/12/2004, 06:14
 
Fecha de Ingreso: noviembre-2004
Ubicación: trelew - chubut
Mensajes: 134
Antigüedad: 20 años, 5 meses
Puntos: 0
pone el codigo
  #3 (permalink)  
Antiguo 21/12/2004, 06:35
 
Fecha de Ingreso: junio-2003
Ubicación: Galicia (España)
Mensajes: 40
Antigüedad: 21 años, 11 meses
Puntos: 0
aki el codigo que utilizo

<LINK href="../stylo.css" rel=stylesheet>
<%
QUECLIENTE=request.form("cli")
filtrocliente=request.querystring("cli")
If filtrocliente<>"" then
QUECLIENTE=filtrocliente
End If

'response.write "quecliente=" & quecliente & "<br>"
orden=request.querystring("orden")
paginaabsoluta=request.querystring("pagabs")
'response.write "pag. absoluta=" &paginaabsoluta&"<br>"

tamanopagina=10

%>
<!-- _______________________ listado con paginacion ____________

<!--#INCLUDE FILE="../includes/Adovbs.inc"-->
<%
If orden="" or orden=0 then
sqltxt="SELECT * FROM Clientes WHERE EMPRESA like'%" & quecliente & "%' order by EMPRESA "
End If
If orden=1 then
sqltxt="SELECT * FROM Clientes WHERE EMPRESA like'%" & quecliente & "%' order by COD_cliente "
End If
'response.write sqltxt
'response.end
set rs = CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../data/clientes.mdb"))

rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic

rs.Open sqltxt,conn


If CInt(RS.PageCount) = 0 Then

Response.Write("<br><center>")
Response.Write("<Font size=2 color=red>No encontre clientes<br>que cumplan esa condicion<BR>Selecciona otro</center>")
%>
<CENTER><input type="button" value="Volver" name="Retrocede" onclick="javascript:history.go(-1)"></center>
<%


Else



if paginaabsoluta="" then
paginaabsoluta=1
end if

if paginaabsoluta=1 Then
inicio=1
else
inicio=1+(paginaabsoluta-1)*tamanopagina
end if

fin=inicio+tamanopagina-1

if fin > rs.recordcount then
fin =rs.recordcount
end if

rs.pagesize= cint(tamanopagina)
rs.absolutepage=cint(paginaabsoluta)

contador=1%>
<BR>
<CENTER><SPAN CLASS=TABLON2>&nbsp;&nbsp;&nbsp;&nbsp;CLIENTES&nbs p;&nbsp;&nbsp;&nbsp;</SPAN></CENTER>

<center>
<table border="0" width="400" cellspacing=0 cellpadding=0>

<tr>

<td width="" align="center" bgcolor="#C0C0C0">
<font face="verdana" size="1">Total Encontrados = <font color="#FF0000"><%=rs.recordcount%></font>
</td>
<td width="" align="center" bgcolor="#C0C0C0">
<font face="verdana" size="1">Página <font color="#FF0000"><%=paginaabsoluta%>
</font> de <font color="#FF0000"><%=rs.pagecount%></font>
</td>
</tr>

</table>
</center>

<BR>

<table width="98%" border="1" align="center" class="tblcat" cellspacing="0" cellpadding="0" >
<tr>
<td class="TXT_V9N" ALIGN=CENTER WIDTH=35>
<IMG SRC="../IMAGES/bul.gif" WIDTH="4" HEIGHT="4" BORDER="0" ALT="">
<a href="busca_clientes.asp?orden=1&cli=<%=quecliente %>" class="link1">COD </a>
</TD>
<td class="TXT_V9N" ALIGN=CENTER>
NIF / CIF
</TD>
<td class="TXT_V9N" ALIGN=CENTER>
<IMG SRC="../IMAGES/bul.gif" WIDTH="4" HEIGHT="4" BORDER="0" ALT="">
<a href="busca_clientes.asp?orden=0&cli=<%=quecliente %>" class="link1">EMPRESA</a>
</TD>
<td class="TXT_V9N" width=75 ALIGN=CENTER>
TELEF.1
</TD>

<td class="TXT_V9N" width=75 ALIGN=CENTER>
MOVIL
</TD>
</TR>

<% do while not rs.eof and contador <= cint(tamanopagina)

%>

<TR class="MINITXT" onmouseover="this.bgColor= 'silver'"onmouseout="this.bgColor='white'" ONCLICK="LOCATION='HTTP://WWW.GOOGLE.ES'">

<% 'adonde="location='verficha.asp?cod=" & rs("COD_CLIENTE")
'response.write adonde & "<br>" %>
<td class="MINITXT">
<a href="./verficha.asp?cod=<%response.write rs("COD_CLIENTE")%>"><%response.write mid(rs("COD_CLIENTE"),3,4)%></a>
</td>
<td class="MINITXT">
<%=rs("NIFCIF")%>
</td>
<td class="MINITXT">
<%=rs("EMPRESA")%>
</td>
<td class="MINITXT" width=75>&nbsp;
<%=rs("TELEFONO1")%>
</td>

<td class="MINITXT" width=75>&nbsp;
<%=rs("MOVIL")%>
</td>
</tr>

<%rs.movenext

contador=contador+1

loop%>

</TABLE>
<!-- <p align="center"><b>Pulsa en la página a la que deseas ir</b> </p> -->

<table align="center" bgcolor="#ffffff" border=1>

<tr>
<td class=link-blanco>Páginas</td>

<%j=0

if cint(paginaabsoluta) <> 1 then
atras=cint(paginaabsoluta)-1
response.write "<td align=center><a href=busca_clientes.asp?pagabs=" & atras & " class=link-blanco>"&"&lt;&lt;"&"</a></td>"

j=j+1
end if

for i = 1 to rs.pagecount

j=j+1

if j>20 then

response.write "</tr><tr>"
j=1

end if

if cint(i) = cint(paginaabsoluta) then
response.write "<td bgcolor=#00ff00 align=center><font face=verdana, arial size=1>("&i&")</font></td>"
else
response.write "<td align=center><a href=busca_clientes.asp?pagabs=" & i & "&cli=" &quecliente& " class=link-blanco>["&i&"]</a></td>"
end if

next %>

<%
if cint(paginaabsoluta) <> rs.pagecount then

atras=cint(paginaabsoluta)+1
response.write "<td align=center><a href=busca_clientes.asp?pagabs=" & atras & " class=link-blanco >"&"&gt;&gt;"&"</a></td>"
end if %>

</tr>

</table>

<%
End If%>

<!-- Fin listado paginado ----->

<BR><BR>
<CENTER><input type="button" value="Otra Busqueda" name="Retrocede" onclick="javascript:history.go(-1)">



</BODY>
</HTML>
  #4 (permalink)  
Antiguo 21/12/2004, 07:38
 
Fecha de Ingreso: noviembre-2004
Ubicación: trelew - chubut
Mensajes: 134
Antigüedad: 20 años, 5 meses
Puntos: 0
me parece que el problema es que vos a la variable quecliente del principio
la lees con reques.form("cli") (es metodo "post")

y cuando haces los link a las paginas siguientes los link que generas son metodo "get"

fijate si cambiando asi anda

QUECLIENTE=request.form("cli")
filtrocliente=request.querystring("cli")
If quecliente="" then
QUECLIENTE=filtrocliente
End If
  #5 (permalink)  
Antiguo 21/12/2004, 09:04
 
Fecha de Ingreso: junio-2003
Ubicación: Galicia (España)
Mensajes: 40
Antigüedad: 21 años, 11 meses
Puntos: 0
En principio ya funciona. Muchas gracias

por fin parece que va. Muchisimas gracias llevaba 2 dias dandole vueltas. Me lei todo el foro. Consulte 4 millones de webs. y tu con 4 lineas vas y me lo arreglas.


Repito. G R A C I A S. FlacoLuis
  #6 (permalink)  
Antiguo 21/12/2004, 09:45
 
Fecha de Ingreso: noviembre-2004
Ubicación: trelew - chubut
Mensajes: 134
Antigüedad: 20 años, 5 meses
Puntos: 0
este foro es asi

Hoy por Ti

mañana por Mi

un saludo
  #7 (permalink)  
Antiguo 21/12/2004, 10:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Antes también lo hacía así, verificando si el request.form("criterio") era vacío entonces usaba request.querystring("criterio")... pero me decidí a usar request("criterio"), ovbiando la colección, y a la mierda
__________________
...___...
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 12:33.