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

Busqueda Multiple en ASP con paginacion de resultados

Estas en el tema de Busqueda Multiple en ASP con paginacion de resultados en el foro de ASP Clásico en Foros del Web. buenas amigos de forosdelweb........necesito otra ayudita por favor...... necesito hacer que una el buscador multiple que habia posteado anteriormente (el cual algunos compadres del foro ...
  #1 (permalink)  
Antiguo 05/10/2007, 20:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Exclamación Busqueda Multiple en ASP con paginacion de resultados

buenas amigos de forosdelweb........necesito otra ayudita por favor......
necesito hacer que una el buscador multiple que habia posteado anteriormente (el cual algunos compadres del foro me ayudaron a realizar )
que pueda mostrar los resultados por pagina....es decir que realice una paginacion de resultados....el problema es que he visto muchos ejemplos pero no se como insertarlo en mi buscador....me podrian echar una ayuda please !!! este es el codigo del buscador:

Cita:
<%
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' para imprimir solo el nº de registro por pagina que queramos

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

'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

dim dbConn

'aca recibo los campos que voy a realizar la busqueda
csr = Request.form("csr")
distribuidor = Request.form("distribuidor")
estado = Request.form("estado")
tecnico = Request.form("tecnico")
On Error Resume next

'declaro las variables a utilizar incluyendo la se_encuentra
Dim Rs, Cnn, SQL
set Cnn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
Cnn.Open Session("cnx")
'ejecuto la consulta
strSQL="SELECT * FROM tblcliente"
se_encuentra = False
if csr <> "" then
strSQL=strSQL & " WHERE csr LIKE '%"&csr&"%'"
se_encuentra=True
end if


'la variable se_encuentra se inicializa en falso y se cambia a verdadero si el campo trae un valor ingresado

if distribuidor <> "" then
if se_encuentra then
strSQL=strSQL & " AND distribuidor LIKE '%"&distribuidor&"%'"
else
strSQL=strSQL & " WHERE distribuidor LIKE '%"&distribuidor&"%'"
se_encuentra=True
end if
end if

if estado <> "" then
if se_encuentra then
strSQL=strSQL & " AND estado LIKE '%"&estado&"%'"
else
strSQL=strSQL & " WHERE estado LIKE '%"&estado&"%'"
se_encuentra=True
end if
end if

if tecnico <> "" then
if se_encuentra then
strSQL=strSQL & " AND tecnico LIKE '%"&tecnico&"%'"
else
strSQL=strSQL & " WHERE tecnico LIKE '%"&tecnico&"%'"
se_encuentra=True
end if
end if




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

' Abro el recordset
set rs = Cnn.Execute(strSQL)

cnn.Execute(strSQL)

'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"" ALIGN=""center"" STYLE=""font-size:75%"">")
Response.Write("<TR><TD COLSPAN=""3""><B>RESULTADOS</B></TD>")
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>"&rs.Fields("csr")&"</TD>")
Response.Write("<TD>"&rs.Fields("distribuidor")&"</TD>")
Response.Write("<TD>"&rs.Fields("tecnico")&"</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=rspagina.asp?pagina="& PaginaActual-1& ">10 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=rspagina.asp?pagina=" & PaginaActual+1 &">10 Siguientes</A>")
end if

%>
el problema que tengo es que solo me muestra los 10 primeros resultados y nada mas .......cual sera mi error ???? por favor necesito ayuda !!!

DE ANTEMANO MUCHAS GRACIAS

Última edición por darkmcloud; 05/10/2007 a las 22:43
  #2 (permalink)  
Antiguo 08/10/2007, 10:19
Avatar de karmish  
Fecha de Ingreso: mayo-2006
Mensajes: 272
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: Busqueda Multiple en ASP con paginacion de resultados

saludos:

Me parese que estas serrando las consulta antes

Código:
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=rspagina.asp?pagina="& PaginaActual-1& ">10 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=rspagina.asp?pagina=" & PaginaActual+1 &">10 Siguientes</A>")
end if
La parte en rojo del cierre yo lo dejaria alfinal de todo queisas es eso, por lo demas esta todo muy paresido al codigo que tengo yo para lo mismo.
  #3 (permalink)  
Antiguo 08/10/2007, 20:15
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

puxila compadre !!!! intente lo que dijiste y no me resulto.....que es lo que sera ???
  #4 (permalink)  
Antiguo 08/10/2007, 23:07
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

hola puedes mandarme el codigo y yo le hecho una [email protected]
  #5 (permalink)  
Antiguo 09/10/2007, 07:45
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Re: Busqueda Multiple en ASP con paginacion de resultados

Cita:
Iniciado por gabo543 Ver Mensaje
hola puedes mandarme el codigo y yo le hecho una [email protected]
ajajjaj no puedes hacer funcionar tu IIS y vas a ver esto mejor dile que kieres copiar el codigo
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #6 (permalink)  
Antiguo 09/10/2007, 07:49
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Re: Busqueda Multiple en ASP con paginacion de resultados

aca dejo el paginador que uso yo y solo falta poner tu busqueda dentro del paginador esto te funcionara suerte

<!-- aquí comienza el listado -->
<%
'================================================= =======

Dim oConn, rs, SQL
Dim PaginaActual
Dim PaginasTotales
Dim TamPagina
Dim CuantosRegistros
TamPagina = 20 'Nº DE REGISTRO POR PAGINA
if Request.Querystring("pagina") = "" then PaginaActual = 1 else PaginaActual = Cint(Request.Querystring("pagina"))
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open MM_conn_STRING
SQL = "SELECT * FROM TABLA"
rs.PageSize = TamPagina
rs.CacheSize = TamPagina
rs.Open SQL, oConn, 1, 2
PaginasTotales = rs.PageCount
if PaginaActual < 1 then PaginaActual = 1
if PaginaActual > PaginasTotales then PaginaActual = PaginasTotales
if PaginasTotales=0 then
textotd = "No se encontraron resultados."
else
rs.AbsolutePage = PaginaActual
textotd = "Pagina " & PaginaActual & " de " & PaginasTotales
'================================================= =======
%>
<table width="100%" border="0" cellspacing="0" cellpadding="3" id="t1" class="sortable">
<tr<%= StBarras %>>
</tr>
<% Do While Not Rs.EOF AND CuantosRegistros < TamPagina %>
<tr<%= StColor %>>
</tr>
<% CuantosRegistros=CuantosRegistros + 1
Rs.MoveNext
loop %>
</table>
<%
end if
rs.Close
oConn.Close
set rs = nothing
set oConn = nothing
Response.Write("<hr size=""1"">**")
if PaginaActual > 2 then Response.Write("<A HREF=?pagina="& 1 &">Primera Pagina</A>*|*") Else Response.Write("<font color=""#CCCCCC"">Primera Pagina</font>*|*")
if PaginaActual > 1 then Response.Write("<A HREF=?pagina="& PaginaActual-1 &">"&TamPagina&" Anteriores</A>*|*") Else Response.Write("<font color=""#CCCCCC"">"&TamPagina&" Anteriores</font>*|*")
if PaginaActual < PaginasTotales then Response.Write("<A HREF=?pagina=" & PaginaActual+1 &">"&TamPagina&" Siguientes</A>*|*") Else Response.Write("<font color=""#CCCCCC"">"&TamPagina&" Siguientes</font>*|*")
if PaginaActual + 1 < PaginasTotales then Response.Write("<A HREF=?pagina=" & PaginasTotales &">Ultima Pagina</A>") Else Response.Write("<font color=""#CCCCCC"">Ultima Pagina</font>")
%>

<!-- aquí termina el listado -->
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #7 (permalink)  
Antiguo 09/10/2007, 07:50
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

el iis la hice funcionar pero me genera errores y tu codigo lo puedo tener de otros lados , y pienso que tengo el tuyo jjajajajaja solo te queria ayudar...
buena suerte entonces...
  #8 (permalink)  
Antiguo 10/10/2007, 00:03
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

compadre......probe su codigo y no resulto .....
help me please !!!!
  #9 (permalink)  
Antiguo 10/10/2007, 01:03
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Busqueda Multiple en ASP con paginacion de resultados

ummm

¿Cómo pasas de una página a otra estos valores de búsqueda?

csr = Request.form("csr")
distribuidor = Request.form("distribuidor")
estado = Request.form("estado")
tecnico = Request.form("tecnico")


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #10 (permalink)  
Antiguo 10/10/2007, 19:20
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

Cita:
Iniciado por tammander Ver Mensaje
ummm

¿Cómo pasas de una página a otra estos valores de búsqueda?

csr = Request.form("csr")
distribuidor = Request.form("distribuidor")
estado = Request.form("estado")
tecnico = Request.form("tecnico")
los recibo de un formulario llamado buscar.asp
el problema no es la consulta, ya que se ejecuta bien...sino que el problema es que al paginar los resultados solo me muestra los 10 primeros y nada mas....ni siquiera se ven los botones de pagina anterior y siguiente.....
por favor amigos......necesito ayuda !!!
  #11 (permalink)  
Antiguo 11/10/2007, 04:21
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Busqueda Multiple en ASP con paginacion de resultados

A ver si podemos entendernos:

1 - El usuario rellena buscar.asp.
2 - Al enviarse la solicitud, el formulario envia los datos a la página de resultados (como no pones su nombre, la llamaremos resultados.asp)
3 - La página resultados.asp visualiza los 10 primeros registros de la busqueda la primera vez que es llamada.
4 - Al pulsar "siguiente", el script resultados.asp falla y vuelve a visualizar los 10 primeros registros


¿Es asi?


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #12 (permalink)  
Antiguo 11/10/2007, 20:21
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

mmm mira compadre.....la pagina resultados solo me muestra los 10 primeros registros pero no me permite ver los botones de "siguiente" para ver el resto de los registros......ese es el problema
  #13 (permalink)  
Antiguo 12/10/2007, 01:48
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Busqueda Multiple en ASP con paginacion de resultados

mmm ¿Podrias decirnos que base de datos usas? y ¿cuantas páginas te devuelve el rs.PageCount? (recuerda que todos esos métodos del recordset SOLO funcionan correctamente con productos Microsoft)


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -

Última edición por tammander; 12/10/2007 a las 02:11
  #14 (permalink)  
Antiguo 12/10/2007, 20:53
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

me conecto a una base de datos sql 2000 server llamada bodega.....a la que me conecto a traves del archivo global.asa
con esta linea de codigo:

Cita:
Session("cnx") = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID='sa';Password='redes';Initial Catalog='bodega';Data Source='desktop'"
la variable de conexion "cnx" despues la llamo desde las paginas de mi sitio
  #15 (permalink)  
Antiguo 13/10/2007, 04:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

no me funcionan a mi tampoco
  #16 (permalink)  
Antiguo 18/10/2007, 22:51
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

por favor amigos....no me resulta el codigo....please help!!! ademas necesito que yo pueda definir uno a uno los campos que voy a mostrar y que no lea toda la informacion de la tabla y dibuje los resultados mostrando cualquier cosa....
  #17 (permalink)  
Antiguo 08/11/2007, 21:12
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Busqueda Multiple en ASP con paginacion de resultados

no es por ser insistente.....pero por favor help me !!!!
  #18 (permalink)  
Antiguo 04/07/2008, 06:29
Avatar de Aitikor  
Fecha de Ingreso: octubre-2007
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Busqueda Multiple en ASP con paginacion de resultados

Hola chicos, mi problemas es el mismo, lo único que yo sí que veo los links de "10 siguientes" y "10 anteriores". Pero algo tengo mal puesto en las variables de los links por que me da error de: NO ENCUENTRA LA PAGINA.

Mi BD esta hecha en Acces y tiene el nombre imagenes.mdb y la tabla: Tabla1.
El codigo de la página es el siguiente:

<%
Dim oConn
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' para imprimir solo el nº de registro por pagina que queramos

'cuantos resultados por pagina
TamPagina=15
'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring("galeria.asp")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("galeria.asp "))
end if
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("imagenes.mdb")&";"
sql="SELECT Id, nombre, titulo FROM Tabla1;"

' MOSTRAR TODO EL CONTENIDO DE LA BD ORDENADO POR LA ID
sql = "SELECT * FROM Tabla1 order by id desc"

' 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
'Si no existen Fotografias devuelve este mensaje
if PaginasTotales=0 then
Response.Write("No se Encontraron Fotografias.")
else
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
'Pinto una línea de la tabla por cada registro

Response.Write("<div class=""img"">")
Response.Write("<div class=""titular"">")
Response.Write(""&rs.Fields("Id")&"&nbsp;&nbsp;"&r s.Fields("nombre"))
Response.Write("</div>")
Response.Write("<a href="""&rs.Fields("titulo")& """target=""_blank""><img border=""0"" src="""&rs.Fields("titulo")&"""width=""100"" height=""100"">")
Response.Write("</div>")

CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
end if
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
'Muesta los enlaces de a 10 Resultados
Response.Write("<hr>")
if PaginaActual > 1 then
Response.Write("<A HREF=rspagina.asp?pagina="& PaginaActual-1 &" class=""blanco"">&nbsp;10 Anteriores</A> ")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=rspagina.asp?pagina=" & PaginaActual+1 &" class=""blanco"">&nbsp;10 Siguientes</A>")
end if
%>

Gracias de antemano cracks!
  #19 (permalink)  
Antiguo 04/07/2008, 07:54
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Busqueda Multiple en ASP con paginacion de resultados

Aitikor, ummmm

la pagina en la cual haces la paginacion se llama: "rspagina.asp"
????????
__________________
JuanRa Pérez
San Salvador, El Salvador
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 16:32.