/*PAGINAÇÃO DE RESULTADOS DE UM BANCO DE DADOS MYSQL
Na versão 2.0 foi melhorada por Cássio Henrique Jorge cassiohj@yahoo.com.br
A nova versão foi incluído os links para Primeiro e Último e melhorado a seção de contagem de registros da tabela utilizando a função COUNT() do MySQL para torar o códugo ainda mais rápido que utilizar SELECT *
Mostra links para 5 páginas anteriores e 5 posteriores, além do link Anterior e Próxima
Autor: Flavio Cambraia - flavio@brazilsoftware.com.br
*/
function f_paginacao ($tr,$rpp,$pg) { // $tr eh total_records e $rpp eh registros por pagina
if ($tr%$rpp==0){$pages = intval($tr / $rpp)-1;} else {$pages = intval($tr / $rpp);} // calcula quantas paginas serao necessarias
if ($tr>0){
echo " Total de Registros Encontrados: $tr - ";
$NumRegistroInicial = ($pg*$rpp)+1;
if ($pg <> $pages) {$NumRegistroFinal = ($pg*$rpp)+$rpp;} else {$NumRegistroFinal = $tr;}
echo "Exibindo Registros de $NumRegistroInicial a $NumRegistroFinal";
echo "
";
echo "
Páginas: "; if ($pg <> 0) { $showpage = $pg - 1; echo 'Primeiro '; echo 'Anteriores '; } for ($i = $pg-5; $i<$pg; $i++) { $showpage=$i+1; if ($i>=0) { echo ''.$showpage.''; echo ' '; } } for ($i = $pg; ($i<=$pages AND $i<=($pg+5)); $i++) { $showpage=$i+1; if ($i == $pg) { echo ''.$showpage.' ';} else { echo ''.$showpage.''; echo ' '; } } if ($pg < $pages) { $showpage = $pg + 1; echo ' Próximas'; echo ' Último'; } } } // FINAL DA FUNÇÃO DE PAGINAÇÃO $dbname="database"; // Indique o nome do banco de dados que será aberto $usuario="usuario"; // Indique o nome do usuário que tem acesso $password="senha"; // Indique a senha do usuário //1º passo - Conecta ao servidor MySQL $id = mysql_connect("mysql.pagn.com.br",$usuario,$password); //2º passo - Seleciona o Banco de Dados $con=mysql_select_db($dbname,$id); //3º passo - Contar os registros da tabela $sql_tr= mysql_query("select COUNT(*) as total from tb_estados"); $res_tr= mysql_fetch_object($sql_tr); $tr=$res_tr->total; //tr total de registros if (isset($_GET[rpp])) {$rpp = $_GET[rpp];} else {$rpp = 10;} // $rpp é registros por pagina - o padrao é 10 if (isset($_GET[pg])) {$pg = $_GET[pg];} else {$pg = 0;} $inicial = $pg * $rpp ; $sql = "select * from tb_estados LIMIT $inicial,$rpp"; $res = mysql_query($sql,$id); f_paginacao($tr,$rpp,$pg); ?>
echo $row[uf]; ?> | echo $row[estado]; ?> |