Olá Pessoal, tudo beleza?
Neste tutorial iremos aprender a fazer paginação de resultados.
Parte 1
Primeiramente vamos executar uma query no mysql.
$sql = mysql_query("SELECT * FROM tabela");
Esta query irá retornar o valor total da tabela.
Vamos então fazer a paginação.
$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.
Agora iremos fazer o loop para que liste os resultados:
while($l = mysql_fetch_array($sql)) {
echo "Resultado...
n";
}
Pronto.
Parte 2
Agora iremos fazer com que o PHP gere os links das páginas:
if($pagina > 0) {
$menos = $pagina - 1;
$url = "$PHP_SELF?pagina=$menos";
echo "
Anterior"; // Vai para a página anterior
}
for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
$url = "$PHP_SELF?pagina=$i";
echo " |
$i";
}
if($pagina < $paginas) {
$mais = $pagina + 1;
$url = "$PHP_SELF?pagina=$mais";
echo " |
Próxima";
}
Pronto. Veremos como fica o script inteiro:
$sql = mysql_query("SELECT * FROM tabela");
$lpp = 10; // Especifique quantos resultados você quer por página
$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.
while($l = mysql_fetch_array($sql)) {
echo "Resultado...
n";
}
if($pagina > 0) {
$menos = $pagina - 1;
$url = "$PHP_SELF?pagina=$menos";
echo "
Anterior"; // Vai para a página anterior
}
for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas
$url = "$PHP_SELF?pagina=$i";
echo " |
$i";
}
if($pagina < ($paginas - 1)) {
$mais = $pagina + 1;
$url = "$PHP_SELF?pagina=$mais";
echo " |
Próxima";
}
?>
Por hoje é só.
Até mais pessoal.