Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, tarde noite,
Estou usando esse código para paginar meus resultados vindos de um banco de dados (PHP+MySQL)
$limite = 10;
$busca_total = $mysql->query("SELECT * FROM usuarios");
$pagina = (isset($_GET['pag'])) ? $_GET['pag'] : 1;
$num_rows = $mysql->numrows($busca_total);
if($num_rows > 0){
$paginas = ceil($num_rows/$limite);
if($pagina > 1)
$html .= "<a href=\"contas.php?modulo=lista&pag=1\">Primeira</a> ";
for($i=1;$i<=$paginas;$i++)
$html .= ($pagina == $i) ? "<a class=\"active\" href=\"contas.php?modulo=lista&pag={$i}\">{$i}</a> " : "<a href=\"contas.php?modulo=lista&pag={$i}\">{$i}</a> ";
if($pagina < $paginas)
$html .= "<a href=\"contas.php?modulo=lista&pag={$paginas}\">Última</a>";
}
Porem chegará um ponto em que ficará assim:
Primeira 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Última
E assim sucessivamente... Gostaria que me ajudassem a descobrir uma lógica para limitar os links exemplo...
Primeira 5 6 7 8 9 >10< 11 12 13 14 15 Última
Não sei se deu pra entender, mas caso alguém queira me ajudar e não entendeu, fala ae que eu explico melhor.
<?php
$limite = 10;
$busca_total = $mysql->query("SELECT * FROM usuarios");
$pagina = (isset($_GET['pag'])) ? $_GET['pag'] : 1;
$num_rows = $mysql->numrows($busca_total);
$paginas = ceil($num_rows/$limite);
$anterior = $pagina -1;
$proximo = $pagina +1;
if($num_rows > 0){
if ($paginas > 1) {
if ($anterior > 0) {
echo " <a href='?pag=".$anterior."'>Anterior</a> ";
} else {
echo "Anterior";
}
for ($i=1;$i<=$paginas;$i++) {
if ($i < ($pagina-4) AND $i == 1) {
echo " <a href='?pag=".$i."'>".$i."</a> ";
}
if ($i >= ($pagina-4) AND $i <= ($pagina+4)) {
if ($i == $pagina) {
echo " >".$i."< ";
} else {
echo " <a href='?pag=".$i."'>".$i."</a> ";
}
}
if ($i > ($pagina+4) AND $i == $paginas) {
echo " <a href='?pag=".$i."'>".$i."</a> ";
}
}
if($pagina < $paginas) {
echo " <a href='?pag=".$proximo."'>Proximo</a> ";
} else {
echo " Proximo ";
}
}
}
?>Perfeito, usei o script do wolfphw e saiu perfeito, agradeço tanto ao wolfphw quanto ao Alaerte Gabriel.
/applications/core/interface/imageproxy/imageproxy.php?img=http://pendrive.16mb.com/uploads/projeto.png&key=4a3a680590f07055a0646ae59af5e33633578cebf6c426d7f670331b21a0a83c" alt="projeto.png" />