Hola foreros, tengo problemas con la paginación de resultados, uso PHP y MS SQL con ADODB. El problema es que no me esta haciendo bien la paginación, y le programe una actualización automatica cada 5 minutos, pero cuando actualiza pide reenviar datos o cancelar, y a veces me da error, de driver mssql, quisiera su ayuda a ver si tienen una funcion php para paginar los resultados sin que den tantos problemas como me dan a veces.
A continuación les paso lo que tengo:
De cabecera...
Código:
<?php
$totalregistros = $db->Execute($consulta_totalregistros);
if (!$totalregistros)
print $db->ErrorMsg();
else
while (!$totalregistros->EOF) {
$total_registros = $totalregistros->fields[0];
$totalregistros->MoveNext();
}
$paginacion = ($total_registros % $columnas); //($x % $y);
if ($paginacion == 0) {
$desde2 = ($total_registros/$columnas);
} else {
$division2 = $total_registros/$columnas;
$division3 = explode(".",$division2);
$valor3 = $division3[0];
$desde2 = ($valor3)*$columnas;
}
if (!empty($_POST['valor'])) {
$valor2 = $_POST['valor2'];
$valor = $_POST['valor'];
if ($valor=="-1") {
if ($valor2 == "1") {
$desde = 0;
$valor = 0;
} else {
$valor = $desde-1;
$desde = ($valor)*$columnas;
}
}
if ($valor=="+1") {
$valor = $desde+1;
$desde = ($valor)*$columnas;
}
if ($valor=="0") {
$valor = 0;
$desde = 0;
}
if ($valor=="2") {
$paginacion = ($total_registros % $columnas); //($x % $y);
if ($paginacion == 0) {
$desde = ($total_registros/$columnas);
} else {
$division = $total_registros/$columnas;
$division2 = explode(".",$division);
$valor = $division2[0];
$desde = ($valor)*$columnas;
$ultimo = $desde;
}
}
}
?>
De intermedio tengo el cuadro donde se imprimen los resultados (es muy largo para ponerlo aqui.
De pie de página...
Código:
<table width="200" border="0" align="center">
<tr>
<td><form id="formA" name="formA" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p>
<label>
<input type="hidden" name="valor" id="valor" value="0"/>
<input type="hidden" name="valor2" id="valor2" value="<?php echo $valor; ?>"/>
<input type="image" name="primero" <?php if ($desde==0) { echo "disabled"; } ?> src="images/PRIMERO.png" style="height:20px; width:20px;"/>
</label>
</p>
</form></td>
<td><form id="formB" name="formB" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>" >
<p>
<label>
<input type="hidden" name="valor" id="valor" value="-1"/>
<input type="hidden" name="valor2" id="valor2" value="<?php echo $valor; ?>"/>
<input type="image" name="anterior" <?php if ($desde==0) { echo "disabled"; } ?> src="images/MENOS.png" style="height:30px; width:30px;"/>
</label>
</p>
</form></td>
<td><form id="formC" name="formC" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p>
<label>
<input type="hidden" name="valor" id="valor" value="+1"/>
<input type="hidden" name="valor2" id="valor2" value="<?php echo $valor; ?>"/>
<input type="image" name="siguiente" <?php if ($desde==$desde2) { echo "disabled"; } ?> src="images/MAS.png" style="height:30px; width:30px;"/>
</label>
</p>
</form></td>
<td><form id="formD" name="formD" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p>
<label>
<input type="hidden" name="valor" id="valor" value="2"/>
<input type="hidden" name="valor2" id="valor2" value="ultimo"/>
<input type="image" name="ultimo" <?php if ($desde==$desde2) { echo "disabled"; } ?> src="images/ULTIMO.png" style="height:20px; width:20px;"/>
</label>
</p>
</form></td>
</tr>
</table>