PHP_SELF erro - Paginação em PHP
Boa madruga a todos!
Pessoal, pesquisando eu encontrei vários códigos de paginação de PHP... Aquele esquema de buscar 500 linhas de informação e dividir elas em 10 páginas de 50, por exemplo.
Só que de TODOS os exemplos que encontrei, absolutamente todos... Eram com o método GET e eu não utilizo GET em nada no meu projeto, tudo passa pelo POST. Senti uma certa dificuldade e surgiram várias dúvidas, por isso, aqui estou mais uma vez !
Segue o código que estou tentando implementar:
$num_por_pagina = 4;
//if (!$pagina) {
$pagina = 1;
//}
$primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina;
$consulta = "SELECT COUNT(*) FROM arquivos";
list($total_usuarios) = mysqli_fetch_array(mysqli_query($conn2,$consulta));
$total_paginas = $total_usuarios/$num_por_pagina;
$prev = $pagina - 1;
$next = $pagina + 1;
// se página maior que 1 (um), então temos link para a página anterior
if ($pagina > 1) {
$prev_link = "<a href=\"$PHP_SELF?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?pagina=$next\">Próxima";
} else { // senão não há link para a próxima página
$next_link = "Próxima";
}
$total_paginas = ceil($total_paginas);
$painel = "";
for ($x=1; $x<=$total_paginas; $x++) {
if ($x==$pagina) {
$painel .= " [$x] ";
} else {
$painel .= " <a href=\"$PHP_SELF?pagina=$x\">[$x]</a>";
}
}
// exibir painel na tela
echo "$prev_link | $painel | $next_link";
Segue o resultado na imagem:
/applications/core/interface/imageproxy/imageproxy.php?img=https://uploaddeimagens.com.br/images/000/605/498/original/erro_paginacao.jpg?1461040253&key=c8acb3bcfb74bc9470bd50ec87b3fc134d0e5d101e800d687f74b499ae4b636d" alt="erro_paginacao.jpg?1461040253" />
ou Link imagem: https://uploaddeimagens.com.br/images/000/605/498/original/erro_paginacao.jpg?1461040253
Observei que ele "joga" informações na URL e quando clico em [2] ou [3] por exemplo, é como se ele desse um "refresh" na página, ele zera os dados e não mostra, ele divide certinho pela quantidade e tals, mas só mostra os dados na primeira página e da o erro da imagem acima.
É possível fazer isso sem que ele altere a URL? Como se fosse dentro de uma div por exemplo, alterando apenas os dados da div, ou de uma aba, enfim... Não encontrei nada desta forma, apenas via GET, somente assim é possível fazer?
Caso seja apenas via GET, tem como eu implementar paginação sem alterar meus parâmetros POST? To meio acordado virado, to viajando muito nesse problema, tomara que seja um vacilo meu, daqueles fáceis de resolver, não aguento mais dor de cabeça com uns erros bobo de pura inexperiência.
Discussão (10)
Carregando comentários...