Hice un paginador en PDO para poder visualizar registros de la base de datos de 20 en 20, funciona perfecto pero al momento de cargar 5000 registros en la base de datos, el paginador se me llena de cuadritos con el numero correspondiente a cada pagina y se me crean alrededor de 2000 cuadritos de paginas, he visto que muchas paginas tienen paginadores que funcionan de la siguiente forma:
Previus 1 2 3 .... 109 110 111 Next. Y es exacto lo que quiero, poner puntos suspensivos entre los cuadritos del paginador para que no se me llene de cuadritos el footer y ademas, se ve mal presentado.
Este es mi codigo del paginador:
Código PHP:
$pdo = new PDO("pgsql:dbname=latamcustomercloud;host=localhost", 'postgres', 'madison' );
$sql = 'SELECT * FROM company_main';
$sentence = $pdo->prepare($sql);
$sentence->execute();
$result = $sentence->fetchAll();
$record_by_page = 20;
$total_records = $sentence->rowCount();
$page = $total_records/20;
$page = ceil($page);
Código PHP:
if (!$_GET) {
header('Location:ordinaryConsultant.php?page=1');
}
$starting = ($_GET['page']-1)*$record_by_page;
$sqlRec = 'SELECT * FROM company_main limit :nrecord OFFSET :starting';
$sentenceRec = $pdo->prepare($sqlRec);
$sentenceRec->bindParam(':starting', $starting, PDO::PARAM_INT);
$sentenceRec->bindParam(':nrecord', $record_by_page, PDO::PARAM_INT);
$sentenceRec->execute();
$resultRec = $sentenceRec->fetchAll();
?>
<div class="registros" id='agrega-registros' style="background-color: #35889936;">
<?php foreach ($resultRec as $fila): ?>
<div class='registros' style='background-color: #35889936; color: #FFF;'>
<?php echo "ID: ".$fila['0'];
echo "</br>";
echo "Company Name: ".$fila['1'];
echo "</br>";
echo "Activity Description: ".$fila['6'];
echo "</br>";
echo "Public or Private: ".$fila['8'];
echo "</br>";
echo "Address HQ: ".$fila['9'];
echo "</br>";
echo "Is Client: ".$fila['10'];
echo "</br>";
echo "Vigency: ".$fila['12']; ?>
</div>
<?php endforeach ?>
</div>
</form>
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item <?php echo $_GET['page']<=1 ? 'disabled':'' ?>"><a class="page-link" href="ordinaryConsultant.php?page=<?php echo $_GET['page']-1 ?>">Previous</a></li>
<?php for ($i = 0; $i < $page;$i++):?>
<li class="page-item <?php echo $_GET['page']==$i+1 ? 'active' : '' ?> "><a class="page-link" href="ordinaryConsultant.php?page=<?php echo $i+1; ?>"> <?php echo $i+1; ?> </a></li>
<?php endfor; ?>
<li class="page-item <?php echo $_GET['page']>=$page ? 'disabled':'' ?> "><a class="page-link" href="ordinaryConsultant.php?page=<?php echo $_GET['page']+1 ?>">Next</a></li>
</ul>
</nav>