Aquí envio una adaptación del scritp de paginación, realizado para el motor de base de datos Sybase.
Aquí envio una adaptación del scritp de paginación, que hice para el motor de base de datos
Sybase.
Espero sea de utilidad para todos. El código es el siguiente. Está ligeramente comentado para que sirva de mayor utilidad.
<?php
$conn = sybase_connect("labsededatos", "elsuario", "");
$TAMANO_PAGINA = 20;
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
//Importante hace el query ordenado y sin limit
$ssql = "select * from data_user ORDER by nombre";
$rs = sybase_query($ssql,$conn);
$num_total_registros = sybase_num_rows($rs);
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
echo "Número de registros encontrados: " . $num_total_registros . "<br>";
echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
$rs = sybase_query($ssql,$conn);
$arreglo[] ="";
while ($fila = sybase_fetch_object($rs)){
$arreglo[]="$fila->nombre";
}
sybase_free_result($rs);
sybase_close($conn);
$contarray=1;
//Aqui, paso los datos extraidos en el query a un arreglo
//si son más campos como nombre, apellido...
//se puede trampiar así: $arreglo[]="$fila->nombre, $fila->numero_tlf";
foreach ($arreglo as $idarray=> $nombre){
//aqui se hace la verifiación que funciona como el limit
if ($idarray > $inicio && $contarray <= $TAMANO_PAGINA){
echo "$idarray $nombre<br>";
$contarray++;
}
}
if ($total_paginas > 1){
for ($i=1;$i<=$total_paginas;$i++){
if ($pagina == $i){
echo $pagina . " ";
}else{
echo "<a href='dbd2.php?pagina=" . $i . "'>" . $i . "</a> ";
}
}
}
//Por José pino//
?>