Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2010, 10:52
warbandit69
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Busqueda Paginación con SQL Server en PHP

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>