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

problemas con paginar y alternar colores en base de datos

Estas en el tema de problemas con paginar y alternar colores en base de datos en el foro de ASP Clásico en Foros del Web. Hola tal vez me podrian ayudar, junte dos script alternar colores de registros y lo hace bien pero al paginar me respeta de diez en ...
  #1 (permalink)  
Antiguo 30/03/2007, 15:49
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
problemas con paginar y alternar colores en base de datos

Hola tal vez me podrian ayudar, junte dos script alternar colores de registros y lo hace bien pero al paginar me respeta de diez en diez la paginacion pero me imprime todos los registros que estan por de bajo de esa pagina este es el codigo, gracias de antemano

<%
' Paginas en un recordset
'------------------------
' Carlos de la Orden Dijs
' [email protected]
'------------------------

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 ' 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

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("ejemplo.mdb")&";"
SQL="SELECT Id, Nombre, Ventas FROM Ventas;"

' 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

'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)

%>

<table width="760" bgcolor="#99CCCC" border>
<tr>
<td>
<font size="2"><b>Id</b></font>
</td>


<td>
<font size="2"><b>Nombre</b></font>
</td>

</td>
<td>
<font size="2"><b>Ventas</b></font>
</td>

</tr>



<%
CuantosRegistros=0
%>



<%
Dim no,color
no = "1"
color = "1"
%>

<% DO UNTIL rs.EOF and CuantosRegistros < TamPagina%>

<% IF color = "3" Then%>
<% color = "1"%>
<% END IF%>
<% IF color = "1" Then%>
<tr bgcolor="#339999">
<% ELSEIF color= "2" Then%>
<tr bgcolor="#99CCCC">
<% END IF%>

<td>
<font size="2"><% =rs.fields("Id").Value%></font>
</td>
<td>
<font size="2"><% =rs.fields("Nombre").Value%></font>
</td>
<td>
<font size="2"><% =rs.fields("Ventas").Value%></font>
</td></tr>

<% ' EN ESTA PARTE DEBERIA DE IR ESTA LINEA CuantosRegistros=CuantosRegistros+1%>


<% rs.MoveNext%>

<% no = no+1%>
<% color = color+1%>
<% LOOP%>
</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=rspaginar.asp?pagina="& PaginaActual-1& ">10 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=rspaginar.asp?pagina=" & PaginaActual+1 &">10 Siguientes</A>")
end if


%>
  #2 (permalink)  
Antiguo 30/03/2007, 16:23
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: problemas con paginar y alternar colores en base de datos

q es loq ue realmente no hace????

cambiar colores?????
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 31/03/2007, 01:33
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: problemas con paginar y alternar colores en base de datos

¿No crees que seria mas facil que un contador llevara el control?:

Cont = 1

do While .....
' Si al dividirse por dos, el resto es 0...
if cont mod 2 = 0 then
bgcolor="#339999"
else
bgcolor="#99CCCC"
end if



cont = cont + 1
loop



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #4 (permalink)  
Antiguo 02/04/2007, 08:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: problemas con paginar y alternar colores en base de datos

Mira Juanra Me Hace Perfectamente El Alternar Colores, Asi Como Tambien Me Envia La Paginacion De 10 En 10 Te Pongo Un Ejemplo Me Envia Del 1 Pero Me Imprime Todos Los Demas Registros De La Tabla, Al Darle Siguiente Me Imprime Del 11 Al 20 Y Todos Los Demas De La Tabla Y Le Doy Siguiente Y Me Imprime 21 Y Todos Los Demas De La Tabla,
  #5 (permalink)  
Antiguo 02/04/2007, 10:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: problemas con paginar y alternar colores en base de datos

Por que tienes comentada la instrucción "CuantosRegistros=CuantosRegistros+1" ?
  #6 (permalink)  
Antiguo 02/04/2007, 11:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: problemas con paginar y alternar colores en base de datos

esta comentada por que al descomentarla me manda un error de que necesita un registro actual o el registro se elimino
  #7 (permalink)  
Antiguo 03/04/2007, 04:04
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: problemas con paginar y alternar colores en base de datos

Perdona, ando hoy muy ocupado con bloqueos en una bd MSSQL


A grosso modo te diré que la paginación sobre el recordset tienes que hacerla despues de abrir la tabla:

Código:
 Conexión por OLEDB
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("ejemplo.mdb")&";"
SQL="SELECT Id, Nombre, Ventas FROM Ventas;"


' Abro el recordset
 rs.Open SQL, oConn, 1, 2
 ' Defino el tamaño de las páginas
  rs.PageSize=TamPagina
 rs.CacheSize=TamPagina
  
'Cuento las páginas
PaginasTotales=rs.PageCount
Ah! y descomenta el contador, si no no te funcionará:

CuantosRegistros=CuantosRegistros+1


Ya nos contarás



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #8 (permalink)  
Antiguo 25/04/2007, 08:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: problemas con paginar y alternar colores en base de datos

despues de muchos intentos y dias logre paginar y alternar los color quiero agradecerles su valiosa ayuda a tammander y a myakire su valiosa ayuda, y seguir leyendo sus valiosos comentarios.
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 12:00.