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

Paginación con busqueda

Estas en el tema de Paginación con busqueda en el foro de ASP Clásico en Foros del Web. Hola, se que el tema de paginación esta en muchos lados pero no encuentro algo asi, o por lo menos no se como hacerlo jeje ...
  #1 (permalink)  
Antiguo 19/10/2005, 17:34
Avatar de ruben_vmb  
Fecha de Ingreso: noviembre-2003
Ubicación: Mex
Mensajes: 1.325
Antigüedad: 20 años, 6 meses
Puntos: 0
Paginación con busqueda

Hola, se que el tema de paginación esta en muchos lados pero no encuentro algo asi, o por lo menos no se como hacerlo jeje
quiero en una busqueda que me traiga,obviamente los datos que requiero, pero como hago la busqueda con "like" a veces trae mucho, y por eso la paginación, pongo esto:, ojo, solo es parte del código de paginación.

<%
Dim mostrar
Dim cant_paginas
Dim pagina_actual
Dim registro_mostrado
Dim I
mostrar = 7
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If
set cnn = Server.CreateObject("ADODB.Connection")
a= Request.Form("tipo")
cnn.Open "images"
SQL="SELECT * FROM images WHERE info Like '%"&a&"%' or imagen Like '%"&a&"%'"
set rs = Server.CreateObject("ADODB.Recordset")

RS.PageSize = mostrar
RS.CacheSize = mostrar
RS.Open SQL, cnn,3,1
cant_paginas = RS.PageCount
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
If cant_paginas = 0 Then
Response.Write "No hay registros..."
Else
RS.AbsolutePage = pagina_actual
%>
.. y lo demas.. creen que necesiten todo el código, jeje
bueno el chiste es que ya doy la busqueda y queda chida la primera pagina dice:

Página 1 de 3
blabla bla

1 2 3 [Próximo >>] y ahi,, cuando le doy al 2 o al 3 o a "proximo" me sale..

Página 2 de 37
bla bla bla
[<< Anterior] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [Próximo >>]

El chiste es que ya el proximo no me respeta la busqueda,, que puedo hacer.
Espero me halla explicado y muchas gracias
Ruben...
  #2 (permalink)  
Antiguo 19/10/2005, 18:11
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
cambiá a= Request.Form("tipo") por a= Request("tipo")

Ahora queda claro el por qué o necesitás que se explique? ;)
__________________
...___...
  #3 (permalink)  
Antiguo 20/10/2005, 08:22
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
nopo creo que el problema que tenes no es tanto el reques. el problema es que en los enlaces de abajo no te estas llevando la variable

revisa tus tres enlaces de moverte al siguiente en la parte de abajo

creo que usamos el mismo codigo que estaba aqui en este foro

por ejemplo:

en enlace que yo uso para regresar que es parte de mi codigo

<a href="./buscar_letra_results.asp?letra_inicial=<%= Request.QueryString("letra_inicial")%>&bloque=30&p age=<%= pagina_actual - 1 %>">

ahi cambia Letra_inicial por tus variables

tendria que quedarte a=<%=request.querystring("tipo")%>&bloque=30& ....

creo que ese es tu lio

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #4 (permalink)  
Antiguo 20/10/2005, 10:40
Avatar de ruben_vmb  
Fecha de Ingreso: noviembre-2003
Ubicación: Mex
Mensajes: 1.325
Antigüedad: 20 años, 6 meses
Puntos: 0
Gacias, voy a intentarlo y les aviso...
No entendi eso,, será que de ASP no se mucho jeje..
Cita:
Iniciado por Al Zuwaga
Ahora queda claro el por qué o necesitás que se explique? ;)
  #5 (permalink)  
Antiguo 20/10/2005, 11:02
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Iniciado por ruben_vmb
Gacias, voy a intentarlo y les aviso...
No entendi eso,, será que de ASP no se mucho jeje..
Ok, te explico (pero asumo que en los enlaces de pagina anterior y siguiente -o de numero de página- estás volviendo a pasar el parámetro 'tipo' con el contenido de la variable 'a')

Ocurre que al iniciar la búsqueda, en el formulario, tenés un campo llamado 'tipo' donde colocás el criterio de búsqueda. En donde paginás, lo rescatás mediante a= Request.Form("tipo") porque era un campo de formulario. Luego, al hacer click en un enlace para pasar a otra página, el script sigue intentando rescatar el valor de un campo de formulario inexistente (en éste punto, la colección form está vacía) en vez de los datos pasados por la URL.

Entonces al usar sólo request (sin indicarle la colección .form o .querystring), el script va a intentar primero rescatar los datos de una supuesta coleción .form. si no lo encuentra, va a pasar a buscarlos a la .querystring (si tampoco la encuentra, pasará a buscarlo en la .cookie y luego en la .servervariables... aunque no estoy seguro de los órdenes).

Esta práctica (no especificar la colección al hacer un request) no es muy buena porque puede llevar a problemas de seguridad, pero... en una paginación no ocurre nada (al menos estoy en 98,251% seguro que no te pueden atacar por allí )
__________________
...___...
  #6 (permalink)  
Antiguo 20/10/2005, 11:03
Avatar de ruben_vmb  
Fecha de Ingreso: noviembre-2003
Ubicación: Mex
Mensajes: 1.325
Antigüedad: 20 años, 6 meses
Puntos: 0
Ok quedo asi:

<a href="./images2.asp?tipo=<%= a%>&eje=30&page=<%= pagina_actual - 1 %>">
y si efectivamente cambia
a= Request.Form("tipo")
por:
a= Request("tipo")

gracias a ustedes y a soloasp.com.ar
  #7 (permalink)  
Antiguo 09/12/2005, 19:14
Avatar de ruben_vmb  
Fecha de Ingreso: noviembre-2003
Ubicación: Mex
Mensajes: 1.325
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola,, regreso un poco con este tema
Cuanto busco todos los archivos me trae algo asi

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 [Próximo >>]

Como puedo hacer algo como aqui, a al menos con menos numeros :D, como..

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 >>

Gracias m"asp"ters
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 19:09.