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

paginacion??

Estas en el tema de paginacion?? en el foro de ASP Clásico en Foros del Web. Hola a todos!!!...estoy aqui con una nueva duda: estoy realizando una paginacion en asp con respecto a los resultados que me arroja una consulta en ...
  #1 (permalink)  
Antiguo 05/12/2006, 12:39
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta paginacion??

Hola a todos!!!...estoy aqui con una nueva duda: estoy realizando una paginacion en asp con respecto a los resultados que me arroja una consulta en una BD en sql 2000 que por cierto ustedes me ayudaron a generar...bueno ahora quisiera ver si se puede agregar un elemento que solo aparezca en la ultima paguina, es decir, se tarta de un reporte que me muestra una tabla con datos ya sea en 2, 3 o 4 paginas, el asunto es que al final de la tabla lleva un recuadro en el cual se colocarian unas firmas ((claro que en la version impresa)), el problema es que ahorita aparece en todas mis paginas, hay manera de que me muestre este recuadro solo en la ultima, independientemente del numero de paginas??...algun ejemplo??...como siempre agradezco la ayuda!!!...
  #2 (permalink)  
Antiguo 05/12/2006, 18:09
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
Pero si sabes el total de registros (un count) y el total de páginas (el # de reg. / el núm de reg. por pag.) entonces ya sabes en cual página debes de pintar ese recuadro. No le veo el problema, solo un IF NumPag = TotPaginas Then etc, etc.

mmmmmmm, si no es suficiente, puedes poner algo de código de la paginación y te ayudaremos a deducir el número de páginas y a colocar dicha condición.

Saludos
  #3 (permalink)  
Antiguo 06/12/2006, 13:27
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Myakire!!!...agradezco los comentarios...la verdad es que me diste una idea de como funcionaria pero como bien lo mecionas no sé como aplicarlo... ...de hecho si manejo un count ya que tambien al final de mi tabla manejo un recuadro q me muestra el total, el cual por cierto tambien deberia de ir solo en la ultima pagina, quizá ese dato pueda ayudar a generar una variable...en fin!!!...mando el código que tengo y espero me puedan ayudar!!!...gracias!!!


Código:
  <%

	'ESTOS REQUEST.FORM SON LOS NOMBRES DE LOS CAMPOS DE FORM DE LA PAGINA ANTERIOR
	if not isdate(Request.QueryString("mes1")) and isdate(Request.QueryString("year1")) then 
	Response.Redirect "Inicio.asp"
	end if

	vmes1= (Request.QueryString("mes1"))
	vyear1= (Request.QueryString("year1"))
	
	vFecha1= vmes1
	vFecha2= "20" + vyear1
	
	
	%>

<HTML>
<HEAD><TITLE>Reporte</TITLE><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">

 <td><div align="center"><span class="Estilo14">RECHAZO</span></div></td>
  </tr>
  <tr>
    <td><span class="Estilo17">Reporte por Mes</span></td>
  </tr>
</table>
<table border="0" align="center">
  <tr>
    <td width="311"><div align="center">
      <%
		

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 = 5 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

strsql = "SELECT CODE, NAME, EQUIPMENT, SIDEWALL, WEIGHT, REJECT, FECHCM, FECHCY FROM ESCANER1 WHERE FECHCM ='" & vFecha1 & "' AND FECHCY ='" & vFecha2 & "' AND (CODE > '0') AND (NAME > '0') AND (EQUIPMENT > '0') AND (REJECT = 1) ORDER BY CODE, EQUIPMENT, WEIGHT "

' Creamos la conexion a la base de datos
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Driver={SQL Server};Server=MGU;Database=RSsql;UID=sa;Password=sa;"

' Creamos el RecordSet y definimos la cantidad de registros a mostrar
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar
RS.cursorlocation=3
' Abrimos la tabla...
RS.Open strSQL, oConn,3,1
'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = RS.PageCount

		'*** CANTIDAD TOTAL ***
	Set rsRecordsetNo2 = Server.CreateObject("ADODB.Recordset")
	strSQL_Nunmero2 = "SELECT COUNT(CODE) AS TOTAL FROM ESCANER1 WHERE FECHCM ='" & vFecha1 & "' AND FECHCY ='" & vFecha2 & "' AND (CODE > '0') AND (NAME > '0') AND (EQUIPMENT > '0') AND (REJECT = 1)"
	
	'Abre tabla temporal
	rsRecordsetNo2.ActiveConnection = oConn
	rsRecordsetNo2.Open strSQL_Nunmero2, oConn,3,1
	rsRecordsetNo2.Requery


' Si el pedido de página cae afuera del rango,
' lo modificamos para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

' Si la cantidad de páginas da 0 es que no hay registros... por eso este IF
If cant_paginas = 0 Then
Response.Write "No hay registros..."

Else
' Nos movemos a la página elegida
RS.AbsolutePage = pagina_actual
' Mostramos el dato de que página estamos...
%>
      <FONT SIZE="+1">P&aacute;gina <B><%= pagina_actual %></B> de <B><%= cant_paginas %></B></FONT></div></td>
  </tr>
</table>
<table width="660" border="3" align="center" cellpadding="2" cellspacing="2" bordercolor="#db0202" bgcolor="#CCCCCC">
  <tr>
    <td width="380" bordercolor="#FFFFFF"><strong>Fecha del Reporte </strong>: Del Mes <span class="Estilo4"><%=vFecha1 %> del <%=vFecha2 %></span></td>
    <td width="380" bordercolor="#FFFFFF"><div align="right"><strong>Fecha y Hora de Impresi&oacute;n :&nbsp;&nbsp;&nbsp;&nbsp;</strong> <%= Day(Now) & "/" & Month(Now) & "/" & Year(Now) %> &nbsp;&nbsp;&nbsp;<%= Time() %></div></td>
  </tr>
</table>
<table width="660" height="62" border="1" align="center" bordercolor="#333333" bgcolor="#FFFFFF">
  <tr align="center" bgcolor="#F4F4F4">
    <th width="100" height="32" align="center" valign="middle" bordercolor="#FFFFFF" bgcolor="#999999" scope="col"><div align="center" class="Estilo12">C&Oacute;DIGO</div></th>
    <th width="310" bordercolor="#FFFFFF" bgcolor="#999999" scope="col"><div align="center" class="Estilo5 Estilo4"><strong>MEDIDA</strong></div></th>
    <th width="110" bordercolor="#FFFFFF" bgcolor="#999999" scope="col"><div align="center" class="Estilo12">CLIENTE </div></th>
    <th width="110" valign="middle" bordercolor="#FFFFFF" bgcolor="#999999" scope="col"><div align="center">SIDEWALL</div></th>
    <th width="130" bordercolor="#FFFFFF" bgcolor="#999999" scope="col"><div align="center" class="Estilo12">PESO</div></th>
<%
'For I = 0 To RS.Fields.Count - 1
'Response.Write RS.Fields(I).Name
'Next 'I
' Hacemos el bucle mostrando los datos del registro
'registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF%>
  <tr bgcolor="#F4F4F4">
    <td width="100" height="22" align="center" valign="middle"><div align="center" class="Estilo4"><%=RS("CODE")%></div></td>
    <td width="310"><div align="center" class="Estilo4"><%=RS("NAME")%></div></td>
    <td width="110"><div align="center" class="Estilo4"><%=RS("EQUIPMENT")%> </div></td>
    <td width="110" bgcolor="#F4F4F4"><div align="center"><span class="Estilo4"><%=RS("SIDEWALL")%></span></div></td>
    <td width="130" bgcolor="#F4F4F4"><div align="center" class="Estilo4"><%=RS("WEIGHT") %> </div></td>
  </tr>

<%
'For I = 0 To RS.Fields.Count - 1
'Response.Write RS.Fields(I)
'Next 'I
' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al próximo registro...
RS.MoveNext
Loop
'listo...
%>
</table>
<table width="665" border="0" align="center">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td width="138" align="right"><table width="138" border="1" bordercolor="#333333" bgcolor="#FFFFFF">
      <tr>
        <td width="138" bordercolor="#333333" bgcolor="#999999"><div align="justify"><strong>TOTAL</strong>:<span class="Estilo4">&nbsp;&nbsp;</span><span class="Estilo4"><%=rsRecordsetNo2("TOTAL")%></span></div></td>
      </tr>
    </table></td>
  </tr>
</table>
<table width="660" border="2" align="center" bordercolor="#db0202" bgcolor="#FFFFFF">
  <tr>
    <td width="332" bordercolor="#db0202" bgcolor="#CCCCCC"><table width="300" border="0">
      <tr>
        <td width="330" height="30" valign="bottom" bordercolor="#FFFFFF" bgcolor="#CCCCCC"><strong>ALMACEN_____________________________</strong></td>
      </tr>
      <tr>
        <td width="330" valign="top"><div align="center"><span class="Estilo15">RECIBI&Oacute;</span></div></td>
      </tr>
    </table></td>
    <td width="310" align="right" bordercolor="#db0202" bgcolor="#CCCCCC"><table width="300" border="0">
      <tr>
        <td height="30" valign="bottom" bordercolor="#FFFFFF" bgcolor="#CCCCCC"><strong>INSP. FINAL ________________________</strong></td>
      </tr>
      <tr>
        <td valign="top"><div align="center" class="Estilo15">ENTREG&Oacute;</div></td>
      </tr>
    </table></td>
  </tr>
</table>
<table width="400" height="76" border="0" align="center">
  <tr>
    <td width="400" height="35" align="center" valign="bottom"><%End If

 
' Cerramos y limpiamos...
'RS.Close
'Set RS = Nothing
'oConn.Close
'Set oConn = Nothing

' Ahora mostramos los enlaces a las otras p&aacute;ginas con el resto de los registros...
If pagina_actual > 1 Then
%>
      <a href="./pag.asp?eje=30&page=<%= pagina_actual - 1 %>&mes1=<%=vFecha1%>&year1=<%=Request.QueryString("year1")%> ">[<< Anterior]</a>
      <%
End If

' mostramos la paginacion por numeros de p&aacute;gina
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
      <%= I %>
      <%
Else
%>
      <a href="./pag.asp?eje=30&page=<%= I %>&mes1=<%=vFecha1%>&year1=<%=Request.QueryString("year1")%> "><%= I %></a>
      <%
End If
Next 'I

If pagina_actual < cant_paginas Then
%>
      <a href="./pag.asp?eje=30&page=<%= pagina_actual + 1 %>&mes1=<%=vFecha1%>&year1=<%=Request.QueryString("year1")%> ">[Pr&oacute;ximo >>]</a>
      <%
End If
'Fin...
%></td>
  </tr>
  <tr>
    <td height="35" align="center" valign="bottom"><b><a href="InicioRechazo_SistemPesado_Mes.asp" class="Estilo23">Regresar</a></b></td>
  </tr>
</table>
</BODY>
</HTML>
  #4 (permalink)  
Antiguo 06/12/2006, 13:43
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: paginacion??

Código:
si la variable pagina_actual es igual a la variable cant_paginas entonces
    estamos en la última página
sino
   pues... no lo estamos :)
fin de la pregunta
Ala, ahora a codificar ;)
__________________
...___...
  #5 (permalink)  
Antiguo 06/12/2006, 14:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Mil garcias!!!

Hola Al Zuwaga!!!...gracias por la sugrencia...claro que estaba así de fácil... es que haria una novata como yo sin su sabiduria!!!...ya lo apliqué, ya lo probé y funcionó... ...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 22:42.