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

(Me juego mi puesto de trabajo) Error en la paginacion de mi buscador

Estas en el tema de (Me juego mi puesto de trabajo) Error en la paginacion de mi buscador en el foro de ASP Clásico en Foros del Web. Le prometi a mi jefe que lo tendria acabado para mañana, pero no logro que la paginacion de las busquedas me salga correctamente. Se que ...
  #1 (permalink)  
Antiguo 26/07/2004, 17:36
 
Fecha de Ingreso: julio-2004
Mensajes: 7
Antigüedad: 20 años, 9 meses
Puntos: 0
(Me juego mi puesto de trabajo) Error en la paginacion de mi buscador

Le prometi a mi jefe que lo tendria acabado para mañana, pero no logro que la paginacion de las busquedas me salga correctamente. Se que no es la mejor manera de pedir ayuda, pero necesito acabarlo o me caera una bronca de las gordas, asi que voy a pegar el codigo para que porfavor me echeis una mano para ver donde me estoy equivocando.

Muchas gracias a todos y gracias por la comprension:

-Buscar_2.asp : (archivo problematico)

<%
set conexio = server.CreateObject("ADODB.Connection")
cami = "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("webs.mdb")
conexio.open cami

set rs=server.CreateObject("ADODB.recordset")
rs.CursorType = 1
rs.LockType = 3
SQL = "Select * from twebs"
rs.open SQL, cami

'''''''''''''''''''''''''''''''''''''
cantidadregistros = 3
rs.cachesize=60
rs.pagesize=cantidadregistros
maxpagina=cint(rs.pagecount)
maxregistros=cint(rs.pagesize)
if request.querystring("pa")<>"" then
mostrarpagina=request.querystring("pa")
rs.absolutepage=mostrarpagina
else
mostrarpagina=1
end if
contreg=0
resultats=0
if int(mostrarpagina)<>int(maxpagina) then '-- Si no es la última página.
hasta=mostrarpagina*30
desde=hasta-29
else
hasta=rs.recordcount
desde=(maxpagina*30)-29
end if
ninguno = ninguno + 1
''''''''''''''''''''''''''''''''''''''''''''''''




Do While NOT rs.EOF and contreg < maxregistros
ninguno = ninguno + 1


valorA_1 = instr(Ucase(rs("nom")),Ucase(request.form("buscar" )))
valorA_2 = instr(Ucase(rs("link")),Ucase(request.form("buscar ")))
valorA_3 = instr(Ucase(rs("descripcio")),Ucase(request.form(" buscar")))
if valorA_1 <> 0 or valorA_2 <> 0 or valorA_3 <> 0 then
%>


<link href="web.css" rel="stylesheet" type="text/css">
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<% resultats = resultats + 1 %>


<table width="500" height="100" border="1" cellpadding="0" cellspacing="0" class="web">
<tr>
<td width="120" height="100" rowspan="3"><a href="visites.asp?id_visites=<%=rs("id_web")%>" target='_blank'><img src="imatges/<%=(rs("foto"))%>" alt="Visitar <%=(rs("nom"))%>" width="120" height="100" border="0"></a></td>
<td width="10" height="100" rowspan="3">&nbsp;</td>
<td width="94" height="15"><a href="visites.asp?id_visites=<%=rs("id_web")%>" target='_blank'><%=rs("nom")%></a> </td>
<td width="94" height="15" align="center"><a href="mod_form.asp?identificador=<%=rs("id_web")%> ">Modificar</a></td>
<td width="94" height="15" align="center"><a href="borrar_condicional.asp?identificador=<%=rs(" id_web")%>&nomweb=<%=rs("nom")%>">Borrar</a></td>
<td width="94" height="15" align="center"><img src="estrelles/<%=(rs("estrelles"))%>.gif" alt="Tienes <%=(rs("estrelles"))%> estrellas" width="70" height="10" border="0"></td>
</tr>
<tr>
<td height="70" colspan="4"><%=(rs("descripcio"))%></td>
</tr>
<tr>
<td width="94" height="15" align="left"><%=(rs("data"))%></td>
<td width="94" height="15" align="center">Idioma: <%=(rs("idioma"))%></td>
<td width="94" align="left">Visites: <b><%=(rs("visites"))%></b></td>
<td width="94" height="15" align="center"><a href="iframe_comentaris.asp?id_webcoment=<%=rs("id _web")%>&id_archiu=<%=request.QueryString("id_arch iu")%>"> <%=rs("numcomentaris")%>&nbsp;Comentaris </a></td>
</tr>
</table>
<br>


<%
end if
contreg=contreg+1
rs.movenext
loop
rs.close



response.write("Se encontraron " & resultats & " resultados")


%>






<%
'''''''''''''''''''''''''''''''''''''''''''''''
cero="0"
nombrescript=request.servervariables("script_name" )

'Flexa ESQUERRA
if int(mostrarpagina)<>1 then '--si no es la primer p&aacute;gina mostrar bot&oacute;n atr&aacute;s
ref="<a class=menu href='" & nombrescript & "?opcio=" & request.QueryString("opcio") & "&id_archiu=mostra_tot"
ref=ref & "&pa=" & mostrarpagina-1
ref=ref & "'><<</a>&nbsp;"

end if



'NUMEROS
for contador=1 to maxpagina
If contador>9 then
cero=""
end if
if maxpagina <> 1 then

ref=ref & "&nbsp;<a href='" & nombrescript & "?pa=" & contador & "&id_archiu=mostra_tot"

if int(contador)=int(mostrarpagina) then '-- pone en negrita pagina actual
ref=ref & "'class=numeros><u>" & cero & contador & "</u></a>"
else
ref=ref & "'class=numeros>" & cero & contador & "</a>"
end if
end if

next




'FLEXA DRETA
if ninguno = "1" then
else
if int(mostrarpagina)<>int(maxpagina) then
ref=ref & "&nbsp;<a class=numeros href='" & nombrescript & "?opcio=" & request.QueryString("opcio")
ref=ref & "&pa=" & mostrarpagina+1 & "&id_archiu=mostra_tot"
ref=ref & "'>>></a>"
end if
response.write ref
end if
''''''''''''''''''''''''''''''''''''''''''''''''


%>

Última edición por edblue; 27/07/2004 a las 16:00
  #2 (permalink)  
Antiguo 26/07/2004, 23:09
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 22 años, 4 meses
Puntos: 0
Tengo una antes de darte la respuesta...
Este script lo quieres para que funcione en el servidor de http://www.medustyle.com/ porque si es asi te recuerdo que debes de tener un servidor para asp instalado y para apache te recomendaria usar el chilisoft pero ese es otro tema..
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #3 (permalink)  
Antiguo 27/07/2004, 01:30
 
Fecha de Ingreso: julio-2004
Mensajes: 7
Antigüedad: 20 años, 9 meses
Puntos: 0
No no, ese servidor no sera donde este alojada la pagina, simplemente he subido ahi la web pq es el que tenia mas a mano.
  #4 (permalink)  
Antiguo 27/07/2004, 07:45
 
Fecha de Ingreso: julio-2004
Mensajes: 7
Antigüedad: 20 años, 9 meses
Puntos: 0
nadie me puede ayudar?
  #5 (permalink)  
Antiguo 27/07/2004, 10:37
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
bueno, pero ¿qué hace o qué no hace?, ¿da errores?, ¿no da errores pero no funciona cómo debería?

¿Cuál es el problema?
__________________
...___...
  #6 (permalink)  
Antiguo 27/07/2004, 12:51
 
Fecha de Ingreso: julio-2004
Mensajes: 7
Antigüedad: 20 años, 9 meses
Puntos: 0
Tal y como esta el codigo que os he pegado solo me busca bien entre los 3 primeros registros de la base de datos... si modifico la variable (cantidadregistros = 3) y pongo otro numero entonces me busca bien segun el valor que tenga alli pero ya no hace la paginacion de 3 registros tal y como la necesito sino que la hace segun ese valor.

Es decir, si pongo (cantidadregistros = 100) me busca bien entre los 100 primeros registros pero me hace una paginacion cada 100 registros (cosa k no quiero claro).

Espero haberme explicado y gracias por vuestra paciencia.
  #7 (permalink)  
Antiguo 27/07/2004, 13:20
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Si la urgencia es tal, tal vez te sea mas facil mejor volver a hacer la rutina de pàginación, estos estan probados y funcionan sisn problemas a la primera:
http://www.forosdelweb.com/showthrea...t=89836&page=4
http://www.forosdelweb.com/showthrea...ght=paginacion
  #8 (permalink)  
Antiguo 27/07/2004, 13:41
 
Fecha de Ingreso: julio-2004
Mensajes: 7
Antigüedad: 20 años, 9 meses
Puntos: 0
La rutina de paginacion en si funciona perfectamente, la tengo aplicada al resto de la web y va de fabula, pero en este caso concreto los valores le vienen dados de un formulario (de busqueda) y no se como montar los bucles para k funcione. El problema es mi inexperiencia con el ASP, por eso acudia a vosotros.
  #9 (permalink)  
Antiguo 27/07/2004, 13:59
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
Cita:
pero en este caso concreto los valores le vienen dados de un formulario (de busqueda)

Lo único que veo que venga de un formulario es...


Código:
valorA_1 = instr(Ucase(rs("nom")),Ucase(request.form("buscar")))
valorA_2 = instr(Ucase(rs("link")),Ucase(request.form("buscar")))
valorA_3 = instr(Ucase(rs("descripcio")),Ucase(request.form("buscar")))

Pero en la única SQL que hay, no estás filtrando nada de nada:

Código:
SQL = "Select * from twebs"
La anterior línea, ¿no debería quedar masomenos así?

Código:
SQL = "Select * from twebs WHERE algun_campo LIKE '%" & request.form("buscar") & "%'"

Probalo y decime si es eso o la estoy pifiando
  #10 (permalink)  
Antiguo 27/07/2004, 15:55
 
Fecha de Ingreso: julio-2004
Mensajes: 7
Antigüedad: 20 años, 9 meses
Puntos: 0
Tenias parte de razon, al final lo he echo de otra manera filtrando directamente en la sentencia SQL. Gracias.
  #11 (permalink)  
Antiguo 27/07/2004, 17:23
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
¿podrías mostrarme cómo ha quedado?

Gracias
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 17:19.