> Manuales > Taller de PHP

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.

Referencia: La páginación la hemos visto y explicado con detalle en PHP, para la base de datos MySQL.
Paginación de resultados con PHP y MySQL
Paginacion con PHP y MySQL. Ejemplo 2
Paginador PHP usando pear y templates

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//
?>

José Pino

Manual