Ir para conteúdo
Fórum Script Brasil
  • 0

Paginação Na Pagina De Busca


Guest matheus montenegro

Pergunta

Guest matheus montenegro

alguém poderia me ajudar com algum script de paginacao? todos q eu encontrei não funcionaram... se voces conseguirem me ajudar com um codigo simples e facil de usar....

obrigado.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Olá amigo, eu uso o tutorial abaixo para fazer a paginação nos meus scripts e funciona perfeitamente...

Como fazer Paginação de resultados?

Neste tutorial iremos aprender a fazer paginação.

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 "<a href="$url">Anterior</a>"; // 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 " | <a href="$url">$i</a>";

}

if($pagina < $paginas) {

$mais = $pagina + 1;

$url = "$PHP_SELF?pagina=$mais";

echo " | <a href="$url">Próxima</a>";

}

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 "<a href="$url">Anterior</a>"; // 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 " | <a href="$url">$i</a>";

}

if($pagina < ($paginas - 1)) {

$mais = $pagina + 1;

$url = "$PHP_SELF?pagina=$mais";

echo " | <a href="$url">Próxima</a>";

}

?>

Tutorial por Fábio Luis Matavelli da Silva

fabio@superphp.com.br

Abraços

AllexPina

Link para o comentário
Compartilhar em outros sites

  • 0
Guest matheus montenegro

bom, eu peguei esse codigo que voce me mandou....

os links aparecem em baixo no final da pagina, mais eu não consigo fazer funcionar.... porque quando eu clico em proxima, ele mostra resultados de uma pesquisa que eu não fiz, e fala q a variavel $caixa (o box onde voce digita a procura) não foi declarado....

então eu não sei como fazer... se voce puder me dar uma ajuda, aqui vai o codigo que eu estou trabalhando:

<?

$bd = mysql_connect("localhost");//conectando ao banco de dados

if(!$bd)//verifica se conectou com sucesso

{

echo "Erro ao conectar no banco de dados.";

exit;

}

mysql_select_db("eec");// seleciona o banco de dados

if (($caixa=='')||($cat=='0')) {

echo "<center><b>digite o nome do cadastro e clique em pesquisar. </b></center>";

exit;

}

$result = mysql_query("select * from eeccadastro where nome like '%$caixa%' and clas like '$cat'");

$cont = mysql_numrows($result);

$lpp=15;

$paginas= ceil($cont/$result);

if(!isset($pagina)) {

$pagina = 0;

}

$inicio = $pagina * $lpp;

$result = mysql_query("SELECT * FROM eeccadastro LIMIT $inicio, $lpp");

if($cont == 0)

{

echo "<center><b> Não foi possivel localizar nenhum cadastro. </b></center>";

exit;

}

else

{

echo "<b><center>foram encontrados $cont resultados</center></b><hr>";

while($l = mysql_fetch_array($result)) {

echo "Resultado... <br>";

$linha = mysql_fetch_assoc($result);

echo "<font face=arial color=orange size=2>";

echo "Código: ".$linha['codigo']."<br>";

echo "Nome: ".$linha['nome']."<br>";

echo "Classificação: ".$linha['clas']."<br>";

echo "Sub-classificação: ".$linha['subclas']."<br>";

echo "Site: ".$linha['site']."<br>";

echo "E-mail: ".$linha['email']."</font>";

echo "<table width=100%' border='0' cellspacing='0' cellpadding='0'>";

echo "<tr>";

echo "<td bgcolor='#333333'><font face=arial color=orange size=2><b>Descrição: ".$linha['descricao]."</b></font><br>";

echo "</td>";

echo "</tr></table>";

echo "</b><hr>";

}

}

if($pagina > 0) {

$menos = $pagina - 1;

$url = "$PHP_SELF?pagina=$menos";

echo "<a href='$url'>Anterior</a>"; // 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 " | <a href='$url'>$i</a>";

}

if($pagina < ($paginas - 1)) {

$mais = $pagina + 1;

$url = "$PHP_SELF?pagina=$mais";

echo " | <a href='$url'>Próxima</a>";

}

?>

eu não encontrei erros, se voce puder me dar uma ajuda....

obrigado novamente.

abraço

matheus montenegro

Xazan | agência virtual

www.xazan.com.br

Link para o comentário
Compartilhar em outros sites

  • 0
Guest matheus montenegro

bom, eu não achei nada... se voce puder realmente me ajudar com esse script eu vou agradecer bastante, porque eu to precisando muito de arrumar isso....

valeu pela ajuda de qualquer forma! ;) :ph34r:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...