Se entendi certo mude está parte do código que vai funcionar:
if ($pagina > 1) { $prev_link = "<a href=\"$PHP_SELF?categoria=$categoria&pagina=$prev\">Anterior</a>"; } else { // senão não há link para a página anterior $prev_link = "Anterior"; } // se número total de páginas for maior que a página corrente, então temos link para a próxima página if ($total_paginas > $pagina) { $next_link = "<a href=\"$PHP_SELF?categoria=$categoria&pagina=$next\">Próxima"; } else { // senão não há link para a próxima página $next_link = "Próxima"; } // vamos arredondar para o alto o número de páginas que serão necessárias para exibir todos os registros. Por exemplo, se temos 20 registros e mostramos 6 por página, nossa variável $total_paginas será igual a 20/6, que resultará em 3.33. Para exibir os 2 registros restantes dos 18 mostrados nas primeiras 3 páginas (0.33), será necessária a quarta página. Logo, sempre devemos arredondar uma fração de número real para um inteiro de cima e isto é feito com a função ceil(). $total_paginas = ceil($total_paginas); $painel = ""; for ($x=1; $x<=$total_paginas; $x++) { if ($x==$pagina) { // se estivermos na página corrente, não exibir o link para visualização desta página $painel .= " [$x] "; } else { $painel .= " <a href=\"$PHP_SELF?categoria=$categoria&pagina=$x\">[$x]</a>"; } }
- Wagner Mello likes this