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

paginacion de resultados: solo muestra los valores iniciales

Estas en el tema de paginacion de resultados: solo muestra los valores iniciales en el foro de ASP Clásico en Foros del Web. Hola amigos, estoy intentando paginar los resultados de una busqueda y mirando en el FORO he encontrado muchos ejemplos que me han servidor. He utilizado ...
  #1 (permalink)  
Antiguo 05/07/2005, 02:06
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
paginacion de resultados: solo muestra los valores iniciales

Hola amigos, estoy intentando paginar los resultados de una busqueda y mirando en el FORO he encontrado muchos ejemplos que me han servidor.
He utilizado el que mas se repite, pero el problema que tengo es que solo me muesta los 10 primeros registros en cada paginación, siempre los mismos.

Os adjunto codigo por si me podeis ayudar.
Gracias anticipadas, saludos

----- codigo-----

<!----- bucle para mostrar grupos registrados ----->
<%

dim conexionBd,rsusua,sqlusua,contador,grupo,contador1

'PAGINACION

Dim oConn, rs, SQL
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' la cuenta que os he mencionado

'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


'Creamos los objetos y definimos las propiedades del Recordset.


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("carar.mdb")&";"
SQL="SELECT autor FROM songs;"

' 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



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

Set ConexionBd=Server.CreateObject("ADODB.Connection")
SQLusua="SELECT DISTINCT autor FROM songs Order By AUTOR ASC"
conexionBd.Open"DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("CARAR.mdb"),3,1

set RSusua=ConexionBd.execute(SQLusua)
'set rs=Server.CreateObject("ADODB.Recordset")

'Por si la consulta no devuelve registros!
if PaginasTotales=0 then

Response.Write("No se encontraron resultados.")

else


contador=0
rs.close
rs.open
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de " & PaginasTotales)
RESPONSE.write("<br>")
CuantosRegistros=0


'While Not RSusua.EOF

do While Not RS.EOF and CuantosRegistros < TamPagina
%>
<left>

<a href="Autor_cancion.asp?grupo=<%=Rsusua.fields("au tor")%>"><%=Rsusua.fields("autor")%></a>
<br>
<%

%>


</left>


<%
contador=contador+1
CuantosRegistros=CuantosRegistros+1

RSusua.Movenext
RS.Movenext
loop
'Wend
RSusua.CLOSE
Set RSusua = Nothing
ConexionBD.Close
Set ConexionBD = Nothing
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing

end if
%>

<!------ final bucle ---->





</font>
<font color="#00698C" face="Arial">

<%Response.Write("Total Autores Registrados: "&contador)%> <br><br>


<font color="#00698C" face="Arial"><a href="Index.asp"> Volver a página de Inicio</a></a>
</font>

<%
'Muestro los enlaces
Response.Write("<hr>")
if PaginaActual > 1 then
Response.Write("<A HREF=buscar_grupos.asp?pagina="& PaginaActual-1& _
">10 Anteriores</A> ")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=buscar_grupos.asp?pagina=" & PaginaActual+1 & _
">10 Siguientes</A>")
end if



%
  #2 (permalink)  
Antiguo 05/07/2005, 12:40
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
ya me funciona.
Tenia un problema en el RS.
De todas manera muchas gracias.

Podeis ver los resultados en: http:// WWW.PROYECTOSEJ.COM, en la seccion de busquedas avanzadas.

Otra vez 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 00:53.