
05/07/2005, 02:06
|
| | Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 19 años, 10 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
% |