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

Modificar la paginación

Estas en el tema de Modificar la paginación en el foro de ASP Clásico en Foros del Web. Hola a todos, Necesito cambiar la paginación de una tienda y no me sale. Actualmente me recoge 10 registros por página y numera las páginas ...
  #1 (permalink)  
Antiguo 31/05/2006, 03:47
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
Modificar la paginación

Hola a todos,

Necesito cambiar la paginación de una tienda y no me sale.
Actualmente me recoge 10 registros por página y numera las páginas de la forma Página: 1 2 3 4 5 ...

Lo que quiero hacer es cambiar la forma en que numera las página. En vez de Página: 1 2 3 .. quiero que ponga los típicos:
<< Anterior Siguiente >>

El código es el siguiente:

<%
end if
rs.movenext
wend

if contador > 0 then
sql = "select contador(id) as totalproductos from productos where categoria = " & r & sqlagrega
set rs = db.Execute(sql)
totalproductos = int(rs("totalproductos"))
%>


Página: <%for t = 0 to fix((totalproductos-1)/10)%> <a href="tienda.asp?s=<%=t%>&amp;r=<%=r%>"><%if t=(s/10) then%><b><%end if%><%=t+1%><%if t=(s/10) then%></b><%end if%></a>
<%
next
else
%>

...

Os agradeceré mucho cualquier ayuda.

Un saludo
  #2 (permalink)  
Antiguo 31/05/2006, 04:33
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 19 años, 6 meses
Puntos: 1
Aupa koleguita!!
Esto te servirá:
Código:
If pagina_actual > 1 Then
%>
</FONT></FONT>
<A href="Paginar_lineas_pedidos.asp?eje=30&amp;page=<%= pagina_actual - 1 %>" ><FONT 
face=Arial>[&lt;&lt; Anterior]</FONT> </a>
<%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
<%= I %>
<%
Else
%>
<FONT face=Arial> </FONT>
<A href="Paginar_lineas_pedidos.asp?eje=30&amp;page=<%= I %>" ><%= I %></a>
<%
End If
Next 'I
If pagina_actual < cant_paginas Then
%>
<A href="Paginar_lineas_pedidos.asp?eje=30&amp;page=<%= pagina_actual + 1 %>" ><FONT 
face=Arial>[Próximo &gt;&gt;]</FONT ></a>
<%
End If
'Fin...
%>
Fíjate en las líneas que te he marcado en negrita que doy a la propiedad "page" de la etiqueta "A" el valor de la página+1 o el valor de la página-1 dependiendo de si es "Anterior" o "Siguiente". Es muy fácil!!!

Aupa. Agur
  #3 (permalink)  
Antiguo 31/05/2006, 04:49
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias por contestar Gorka

Hay una parte que no se como hacer
Donde tu pones:
<A href="Paginar_lineas_pedidos.asp?eje=30&amp;page=<%= pagina_actual - 1 %>" >

En mi código es:
<a href="tienda.asp?s=<%=t%>&amp;r=<%=r%>">

El r=<%=r%> es la categoría a la que pertenece el producto

¿Cómo hago para añadir la indicación de la página page=<%= pagina_actual - 1 %> y la de la categoría r=<%=r%>?

Un saludo
  #4 (permalink)  
Antiguo 31/05/2006, 07:25
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Surenet, en las FAQ tienes el sistema de paginación más habitual (al menos entre los que usamos este foro). Tú parece que estás utilizando otro distinto. Si le echas un vistazo al de las FAQ, podrás solucionar tu problema, simplemente eliminado unas cuantas líneas de código (las que afectan al contador de páginas sueltas).

Salu2
  #5 (permalink)  
Antiguo 31/05/2006, 10:12
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
hey no modifique eso

modifica la variable

mostrar = 10

esta mas arriba ent u codigo, sin temor a equivocarme yo uso la misma paginacion
el codigo es mas o menos asi


Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop

mostrar = 20 ' Pueden modificar este número para cambiar la cantidad de registros por página
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 31/05/2006, 10:13
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
perdon la regue tenes razon no te referis a cuantos por pagina si no al formato de ver el avanzar :P

no lei a tiempo jajajaj

hay lo borran
__________________
JuanRa Pérez
San Salvador, El Salvador
  #7 (permalink)  
Antiguo 31/05/2006, 10:38
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
He conseguido que me funcione (a medias) asi:

Código:
<a href="tienda.asp?s=<%=s - 1%>&amp;r=<%=r%>"> Anterior</a>&nbsp;&nbsp;
<%
If s < 0 Then
			s = 0
		 ElseIf s > totalproductos Then
			s = totalproductos
%>&nbsp;&nbsp;

<% end if %>
<% if s < totalproductos then %>&nbsp;&nbsp;
<a href="tienda.asp?s=<%=s + 1%>&amp;r=<%=r%>"> siguiente </a> 
<% end if %>
Digo "a medias" porque las páginas avanzan y retroceden bien pero no consigo que hagan tope, es decir, cuando llega la última página sigue apareciendo el siguiente y me lleva a una página sin registros. Lo mismo ocurre con el anterior que aparece desde el inicio, y si le doy de inicio a anterior me lleva a una página sin registros ( la -1 )

Lo ideal sería que en un principio no apareciera anterior y al llegar a la última página desapareciera el siguiente

Alguna sujerencia?
  #8 (permalink)  
Antiguo 31/05/2006, 11:15
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
la idea basica tendria que ser

Cita:
If pagina_actual > 1 Then
'mostramos enlace anterior
End If

If pagina_actual < cant_paginas Then
'mostramos enlace a proximos
End If
__________________
JuanRa Pérez
San Salvador, El Salvador
  #9 (permalink)  
Antiguo 31/05/2006, 12:29
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
Si, por ahí anda la cosa y casi lo tengo. He conseguido que desaparezca el anterior al principio, y avanza y retrocede bien.

Lo he conseguido con la idea original que has dado:

Código:
<% 
If s > 0 Then
%>
<a href="tienda.asp?s=<%=s - 1%>&amp;r=<%=r%>"> Anterior</a>&nbsp;&nbsp;
<% end if %>
<%
If s < totalproductos then
%>
<a href="tienda.asp?s=<%=s + 1%>&amp;r=<%=r%>"> siguiente </a> 
<% end if %>
Donde s= pagina_actual y totalproductos=cant_paginas (solo muestra 1 producto por página)

Pero necesito que al llegar a la última página no deje avanzar más, pero no lo consigo. He probado esto:

Código:
<% 
If s > 0 Then
%>
<a href="tienda.asp?s=<%=s - 1%>&amp;r=<%=r%>"> Anterior</a>&nbsp;&nbsp;
<% end if %>
<%
If s > totalproductos Then
   s = totalproductos	
   ElseIf s < totalproductos then
			
%>
<a href="tienda.asp?s=<%=s + 1%>&amp;r=<%=r%>"> siguiente </a> 
<% end if %>
Pero el resultado es el mismo, en la última página permite pinchar en siguiente y lleva a una página que no tiene nada.

Se te ocurre algo?
  #10 (permalink)  
Antiguo 31/05/2006, 13:32
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
sera
Cita:
pagina_actual = s
cant_paginas = totalproductos

If pagina_actual > 1 Then
<a href="tienda.asp?s=<%=s - 1%>&amp;r=<%=r%>"> Anterior</a>
End If

If pagina_actual < cant_paginas Then
<a href="tienda.asp?s=<%=s + 1%>&amp;r=<%=r%>"> siguiente </a>
End If
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 31/05/2006, 13:38
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
En mi caso la primera página es la 0, no la 1
  #12 (permalink)  
Antiguo 31/05/2006, 13:40
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
igual lo acomodas

y al llegar al final te sigue imprimiendo siguiente????
__________________
JuanRa Pérez
San Salvador, El Salvador
  #13 (permalink)  
Antiguo 31/05/2006, 13:45
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
Si, llego a la última página y permite seguir y llegar a una página que no tiene nada, y en esta si desaparece el siguiente y solo queda el anterior
  #14 (permalink)  
Antiguo 31/05/2006, 14:27
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
jajaja suena raro

Cita:
If pagina_actual < cant_paginas Then
<a href="tienda.asp?s=<%=s + 1%>&amp;r=<%=r%>"> siguiente </a>
End If
seria algo asi

Cita:
casi_ultima = cant_paginas - 1
If pagina_actual < casi_ultima Then
<a href="tienda.asp?s=<%=s + 1%>&amp;r=<%=r%>"> siguiente </a>
End If
__________________
JuanRa Pérez
San Salvador, El Salvador
  #15 (permalink)  
Antiguo 01/06/2006, 00:28
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
SOLUCIONADO!!

Muchas gracias por tu ayuda JuanRA
  #16 (permalink)  
Antiguo 01/06/2006, 09:29
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
a la orden

suerte
__________________
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 03:27.