quinta-feira, 4 de agosto de 2011

Paginação PHP

Vamos ver um exemplo de paginação em PHP.

Antes disso, precisamos entender o que é paginação.

Paginação de resultado é algo bem simples,

Fazemos uma busca em determinada tabela do DataBase, e com o resultado da busca, dividimos o número de registros, por um número especifico para exibir por página.

Por exemplo um total de 200 registros, e nós queremos exibir 20 por página, logo teremos 200/20 = 10 páginas.

Simples, não?

Bom vamos lá para o código então.



Primeiramente realize a conexão ao MySQL:
<?php
$conn = mysql_connect("host","usuario","senha");
$db = mysql_select_db("bancodedados");
?>



Agora vamos criar a cláusula SQL que deve ser executada:

<?php
$busca = "SELECT * FROM tabelax";
?>



Vamos ao trabalho... Especifique o total de registros a serem exibidos por página:



<?php

$total_reg = "10"; // número de registros por página

?>


Se a página não for especificada a variável "pagina" tomará o valor 1, isso evita de exibir a página 0 de início:



<?php

if (!$pagina) {

$pc = "1";

} else {

$pc = $pagina;

}

?>


Vamos determinar o valor inicial das buscas limitadas:



<?php

$inicio = $pc - 1;

$inicio = $inicio * $total_reg;

?>


Vamos selecionar os dados e exibir a paginação:

<?php
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");

$tr = mysql_num_rows($todos); // verifica o número total de registros
$tp = $tr / $total_reg; // verifica o número total de páginas

// vamos criar a visualização
while ($dados = mysql_fetch_array($limite)) {
$nome = $dados["nome"];
echo "Nome: $nome<br>";
}

// agora vamos criar os botões "Anterior e próximo"
$anterior = $pc -1;
$proximo = $pc +1;
if ($pc>1) {
echo " <a href='?pagina=$anterior'><- Anterior</a> ";
}
echo "|";
if ($pc<$tp) {
echo " <a href='?pagina=$proximo'>Próxima -></a>";
}
?>



Prontinho

Nossa paginação está criada!


Vitor Yudi Hansen