Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/08/2007, 12:07
Elig
 
Fecha de Ingreso: noviembre-2002
Ubicación: Elche
Mensajes: 548
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: No pagina con MySQL

Te he resumido en la medida de los posible el código. Cambia los datos a tu comodidad pero creo que esto te servirá.

El enlace con los formularios lo he puesto mediante funciones para que lo veas más claro. En realidad no hace falta que los hagas así. Ya te digo, es sólo orientativo.

FUNCIONES
function ir_uno(){
document.formulario_ir_uno.submit()
}


function ir_menos(){
document.formulario_ir_menos.submit()
}


function ir_mas(){
document.formulario_ir_mas.submit()
}


function ir_ultima(){
document.formulario_ir_ultima.submit()
}

EN EL BODY


------- ver cuantos registros tenemos----------
----- Haces tu conexión a la DDBB

tampagina =x ' número de registros que vas a mostrar por página
pagina=CInt(request.form("pagina"))
if pagina=0 then
pagina=1
end if
strSQL = "SELECT COUNT(*) AS total FROM tabla WHERE tus condiciones

rs.Open strSQL, Conexion_rs, 1, 2

Total=Cint(rs.Fields("total"))
tamano=Cint(tampagina)
totalpaginas=Cint(Round(Total/tamano))
control_paginacion=Cint(totalpaginas*tampagina)
if control_paginacion < Total then
totalpaginas=totalpaginas+1
end if


if totalpaginas=0 then
pagina=0
end if
------ cierras la conexión a DDBB

strSQL = "SELECT * FROM tabla WHERE tus_condiciones&" limit "&(pagina-1)*tampagina &","&tampagina


'--------------------------------- TABLA DE CONTROL DE PAGINA ----------------------------
<center><table border="0px" cellspacing="0px" cellpadding="0px">
<tr>
<td>
Est&aacute; en la p&aacute;gina: <%=pagina%> de <%=totalpaginas%>.
</td>

<td >
<table border="0px" cellspacing="0px" cellpadding="0px">
<tr>
<%if pagina > 1 then
%> <td>
<div id="uno" onclick="ir_uno();"><< Primera</div </td>
<td>
<div id="menos" onclick="ir_menos();">< Anterior</div;
</td>

<%
end if
if pagina< totalpaginas then

%>
<td>
<div id="mas" onclick="ir_mas();">Siguiente > </div>&nbsp;&nbsp;&nbsp;
</td>
<td>
<div id="ultima" onclick="ir_ultima();">&Uacute;ltima >> </div>&nbsp;&nbsp;&nbsp;
</td>
<%
end if
%>
</tr>
</table></center>

----------------------- Mostramos el resultado

rs.AbsolutePage=PaginaActual
CuantosRegistros=0
if Total >0 then '--------------muy importante controlamos que no se pete en el bucle
do while not rs.EOF and CuantosRegistros < TamPagina

------------------------ tu código de presentación de los datos

CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop

--------------- cerramos los ficheros


End if ' del control del Total


FORMULARIOS

<form style="display:none;" name="formulario_ir_uno" action="LA_MISMA_PAGINA_EN_LA_QUE_ESTAMOS" method="post" style="display:none;">
<input style="display:none;" id="pagina" name="pagina" type="text" value=1></input>
</form>


<form name="formulario_ir_menos" action="LA_MISMA_PAGINA_EN_LA_QUE_ESTAMOS"
method="post" style="display:none;">
<input style="display:none;" id="pagina" name="pagina" type="text" value=<%= pagina-1%>></input>
</form>


<form name="formulario_ir_mas" action="LA_MISMA_PAGINA_EN_LA_QUE_ESTAMOS" method="post" style="display:none;">
<input style="display:none;" id="pagina" name="pagina" type="text" value=<%= pagina+1%> ></input>
</form>


<form name="formulario_ir_ultima" action="LA_MISMA_PAGINA_EN_LA_QUE_ESTAMOS" method="post" style="display:none;">
<input style="display:none;" id="pagina" name="pagina" type="text" value=<%= totalpaginas%> ></input>
</form>