- ceil: documentation ( source)
<?php
$record = ["manzana", "pera", "naranja", "mango", "aguacate", "platano", "kiwi", "uva", "mandarina"];
$numRecord = count($record);
$showRecord = 2;
$page = ceil($numRecord/$showRecord);
$star = 1;
$getPage = 4;
$actualPage = $getPage ?? $star;
$previusPage = $actualPage - 1;
$nextPage = $actualPage + 1;
$from = ($actualPage-1) * $showRecord;
$to = ($from + ($showRecord-1));
$numPage = 3;
echo "\n\n=============DATOS=============\n\n";
echo "cantidad de registros: $numRecord\n";
echo "registros mostrados por pagina: $showRecord\n";
echo "cantidad de paginas: $page\n";
echo "desde donde se muestran: $from\n";
echo "hasta donde se muestran: $to\n";
echo "pagina actual: $actualPage\n";
echo "pagina anterior: $previusPage\n";
echo "pagina siguiente: $nextPage\n";
echo "numeros de paginas que se muestran: $numPage\n";
echo "\n\n=============REGISTROS=============\n\n";
for($j = $from; $j <= $to; $j++){
if($j < $numRecord)
echo " | $record[$j]\t|\n";
}
echo "\n\n=============PAGINADO=============\n\n";
if($previusPage > 0){
echo "(principio $star) ";
echo "<<|anterior| ";
}
for($i = $star; $i <= $page; $i++){
if($i == $actualPage)
echo " <|$i|> ";
else
echo " |$i| ";
}
if($nextPage <= $page){
echo " |siguiente|>>";
echo " (ultimo $page)";
}