Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos, gostaria de colocar um script aqui criado por mim. A parte de páginação, é fácil, só coloquei ela em função, para facilitar mais as coisas.
Abraços a todos,
Léo
Bom primeiro irei mostrar a função e depois como usa-la.
// $pag_referencia = é o nome do arquivo que esta localizada a instância da função.// $_REQUEST["pagina"] = É o número da página (na paginação).// $tamanho_pagina = Quantas resultados você quer ter por página.// $sql = É o conteúdo do seu comando sql (select * from....).function paginar($pag_referencia,$_REQUEST["pagina"], $tamanho_pagina, $sql){global $result; // Poderá ser usada por todo o programa.//examino a página a mostrar e o inicio do registro a mostrar //$pagina = $_GET["pagina"]; if (!$pagina){ $inicio = 0; $pagina=1; } else{ $inicio = ($pagina - 1) * $tamanho_pagina; } // Pegar a quantidade de inserções advindas da consulta SQL.$rs = mysql_query($sql); $num_total_registros = mysql_num_rows($rs); // Aqui tenho a função ceil que arredonda 'para cima', faz o cálculo de quantas página vou precisar.$total_paginas = ceil($num_total_registros / $tamanho_pagina); // Tem que concatenar a sentença SQL para realizar a busca.$ssql = " ".$sql." limit " . $inicio . "," . $tamanho_pagina; // É aqui que temos o limite de registros por página.$result = mysql_query($ssql); // Aqui a gente executa o comando SQL.// mostro os diferentes índices das páginas, se é que há várias páginas if ($total_paginas> 1){ for ($i=1;$i<=$total_paginas;$i++){ if ($pagina == $i) //se mostro o índice da página atual, não coloco link echo "<font color=brown size=2 face='verdana, helvetica, arial'><b> " . $pagina . "</b></font> "; else //se o índice não corresponde com a página mostrada atualmente, coloco o link para ir a essa página echo "<a href='".$pag_referencia."&pagina=" . $i . "'>" . $i . "</a> "; } } }
USANDO A FUNÇÃO
Bom, estamos aqui em um arquivo qualquer do seu projeto que necessite a página dos resultados.
Certo, como na função já temos um execute, então não vamos precisar executar a sentença SQL:
<?php
$QrySQL = "Select * from tb_produtos"
paginar("tpl_listar_produtos.php",$_REQUEST["pagina"], "10", $QrySQL)
while($campo = mysql_fetch_array($result)
{
....
}
?>
Abaixo como será mostrado no navegador, perceba que temos um sem link, que é a página atual, um dois com link que são as página subsequentes:
<font color=brown size=2 face='verdana, helvetica, arial'><b> 1</b></font> <a href='tpl_listar_produtos.php&pagina=2'> 2 </a>É isso ae, espero ter ajudado.
Contato: leonardonobre@ibest.com.br
MSN: leonardonobref@hotmail.com
Abraços,
Léo
Olá programador php, tudo bem?
Para passar mais parâmetros você vai precisar passar pela função no primeiro parâmetro.
Por exemplo,
vamos supor que você queira passar a área do site que se encontra o paginador, você vai fazer na seguinte maneira:
paginar("tpl_listar_produtos.php?areasite=noticias",$_REQUEST["pagina"], "10", $QrySQL);
Viu? Você só vai passando os parêmtros que você quer acompanhando o nome do arquivo, quando o link das páginas subsequentes for formado, os seus parâmetros vão ser considerados.
Abraços,
Léo
qualquer coisa me passa uma PM...
Leonardo,
tava precisando de uma paginacao para um texto do banco de dados... sabe como? texto longo dividido em paginas... me dah uma luz?
se puder me ajudar...
grato desde já.
abraços.
opa!!!cara preciso passar mais parametroscomo que eu faço issoabraço