mam problem przy generowaniu ilosci stron w paginacji, załóżmy że mamy 39 elementów i ustawiamy 20 elementów na stronie - wygenerowane zostaną 2 podstrony (prawidłowo), ale przy 40 elementach już są generowane 3 podstrony (1 pusta), gdzie jest błąd ?
// laczna ilosc, ilosc w rzedzie, ilosc na stronie, dlugosc podstron w paginacji, GET, adres strony
function get_pagenumbers($entries, $rzad, $config_rows, $config_maxshow, $config_page, $adres)
{
$prev = '« cofnij';
$next = 'dalej »';
$config_totalPages = ceil(($entries) / ($rzad * $config_rows));
$start = 0;
$end = $config_totalPages - 1;
if($config_maxshow < $config_page || (($rzad * $config_rows * $config_maxshow) < $entries))
{
if($config_page >= ($config_maxshow + 1) && $config_page < $end - $config_maxshow)
{
$start = $config_page - $config_maxshow;
}
else if($end < $config_page + $config_maxshow + 1 && $config_totalPages-1 >= $config_maxshow * 2+1)
{
$start = $config_totalPages - 1 - $config_maxshow * 2;
}
else
{
$start = 0;
}
if($config_page + $config_maxshow + 1 > $config_totalPages-1)
{
$end = $entries / ($rzad * $config_rows);
}
else if($start == 0 && $end > $config_maxshow * 2)
{
$end = $config_maxshow * 2;
}
else if($start == 0 && $config_totalPages <= $config_maxshow * 2)
{
$end = $config_totalPages - 1;
}
else
{
$end = ($config_page + $config_maxshow);
}
}
if ($config_totalPages <= 1)
{
echo '';
}
else
{
echo '<p align="center"><div class="pagination">';
if(($config_page-1) >= 0)
{
echo '<span class=""><a href="'.$adres.'page='.($config_page-1).'">'.$prev.'</a></span>';
}
else
{
echo '<span class="disabled">'.$prev.'</span>';
}
if($start > 0)
{
echo ' ... ';
}
else
{
echo ' . ';
}
for($i = $start; $i <= $end; $i++)
{
if($config_page == $i)
{
echo '<span class="current">'.($i+1).'</span>';
}
else
{
echo '<span class=""><a href="'.$adres.'page='.$i.'">'.($i+1).'</a></span>';
}
}
if(ceil($end) < $config_totalPages - 1)
{
echo ' ... ';
}
else
{
echo ' . ';
}
if(($config_page + 1) <= $config_totalPages - 1)
{
echo '<span class=""><a href="'.$adres.'page='.($config_page+1).'">'.$next.'</a></span>';
}
else
{
echo '<span class="disabled">'.$next.'</span>';
}
echo '</div></p>';
}
}