Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

VBBurba

Busca e Paginação

Recommended Posts

Olá amigos,Pegar todos os dados do banco de dados e colocar paginação beleza eu já entendi e já sei como fazer.O que ta pegando e que eu preciso colocar paginação num sistema de busca.Vamo lá:pg index.php tem um textbox chamado pesq e um botão Submit que ao ser precionado envia os dados para o arquivo resultado.phpUtilizando esse simples script aqui de paginação como que eu faço pra pegar os dados que tem haver com o que foi digitado no textbox e potar paginação. eu quero entender como isso funciona, sem brincadeira estou ficando loco com isso, nunca da certo.

<?php $conn = mysql_connect("host","user","senha"); $banco = mysql_select_db("bancodedados"); ?> <?php $busca = "SELECT * FROM tabela"; ?> <?php $total_reg = "10"; // número de registros por página ?> <?php if (!$pagina) { $pc = "1"; } else { $pc = $pagina; } ?> <?php $inicio = $pc - 1; $inicio = $inicio * $total_reg; ?> <?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>"; } ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara esse é o unico script de paginação que deu certo comigo.Eu preciso da força de vcs.

<?php $conn = mysql_connect("host","user","senha"); $banco = mysql_select_db("bancodedados"); $busca = "SELECT * FROM tabela"; $total_reg = "10"; // n° registros por página if (!$pagina) { $pc = "1"; } else { $pc = $pagina; } $inicio = $pc - 1; $inicio = $inicio * $total_reg; $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 // visualização while ($dados = mysql_fetch_array($limite)) { $nome = $dados["nome"]; echo "Nome: $nome<br>"; } // 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>"; } ?>

PRONTO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim<?//1º passo - Conecta ao servidor MySQLif(!($id = mysql_connect($localhost,$usuario,$password))) { echo "<p align=\"center\"><big><strong>Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador. </strong></big></p>"; exit;}//2º passo - Seleciona o Banco de Dadosif(!($con=mysql_select_db($banco,$id))) { echo " <p align=\"center\"><big><strong>Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador. </strong></big></p>"; exit;}#####################################################################################$sql="select * from tabela";$query=mysql_query($sql) or die ("erro ao selecionar");$lpp = 2; //numero de resultado por pagina$total=mysql_num_rows($query);$paginas= ceil($total / $lpp);if (!isset($pagina)){$pagina = 0;}$inicio = $pagina * $lpp;$sql2="select * from tabela limit $inicio,$lpp";$query2=mysql_query($sql2) or die ("erro 002");while ($exibe = mysql_fetch_array($query2)){$marcar = $exibe["marcar"];echo "$marcar <BR>";}if ($pagina > 0){$menos = $pagina - 1;$url = "$PHP_SELF?pagina=$menos";echo "<a href='$url'>Anterior</a> ";}for($i=0;$i<$paginas;$i++){$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'>Proxima</a>";}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é um assunto bastante discutido, procure na sessão de scripts que você encontrará exemplos e tutoriais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, vamos por partes, não adianta tu ir metendo script de paginação de qualquer jeito achando que vai funcionar. Tente usar a lógica.você tem lá a query:

$query = "SELECT * FROM tabela";

Recebe a variável que indica a página:

$pag = ($pag=$_GET['pag']) ? $pag : 1; // Se não for definida a página, então é 1

Verifica o total de resultados da query (essencial pra mostrar os números das páginas no final):

$results = mysql_num_rows(mysql_query($query));

Tendo isso fica fácil pra construir a paginação. Dependendo da página, você vai pegar determinados resultados da query, isso se faz assim ($resultsPerPage é a variável que contém o número de resultados por página):

$inicio = ($pag-1)*$resultsPerPage;

Pra ficar mais fácil de entender, supondo que você difiniu 10 resultados por pag, e página estabelecida é 2, então você vai ter uma equação assim: (2-1)x10=1x10=10. Ou seja, na página 2 vai começar a pegar a partir do 10° registro. Daí é só colocar isso em uma query:

$buscaPag = mysql_query($query." LIMIT ".$inicio.",10"); // Pega 10 registros a partir da posição definida.

Tendo isso, basta listar os resultados retornados por $buscaPag.Pra mostrar "Anterior" e "Próximo" tu pega a var $pag e diminui e soma 1 respectivamente e coloca dentro de um link. Pra mostrar os números das páginas, primeiro você descobre quantas página tem no total obviamente:

$totalPags = $results/$resultsPerPage; // Variáveis definidas lá em cima.

Depois disso basta você pode fazer um for com os números:

for ($num=1;$num<=$totalPags;$num++) {print '<a href="pagina.php?pag='.$num.'">['.$num.']</a>';}

A partir disso dá pra você criar tua própria paginação. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode listar os resultados usando o mysql_fetch_array:

while ($r = @mysql_fetch_array($buscaPag)) { // $buscaPag é a variável que contém a query.		   print $r['id']." e pá...caboom <br />";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.