VBBurba 0 Denunciar post Postado Setembro 7, 2006 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
andreymor 0 Denunciar post Postado Setembro 7, 2006 primeiro...........limpa esse script.........para que esse tanto de abre e fecha tag do php???? Compartilhar este post Link para o post Compartilhar em outros sites
VBBurba 0 Denunciar post Postado Setembro 7, 2006 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
ronanlumb 0 Denunciar post Postado Setembro 7, 2006 Para paginar busca você tem que primeiro selecionar o seu resultado que seria algo comoselect * from tabela where CAMPO='$texto_para_buscar' ; Compartilhar este post Link para o post Compartilhar em outros sites
VBBurba 0 Denunciar post Postado Setembro 7, 2006 beleza! valeu ronanlumbQue mais é necessário???? Compartilhar este post Link para o post Compartilhar em outros sites
VBBurba 0 Denunciar post Postado Setembro 7, 2006 Num falta mais nada pra ele funcionar? Compartilhar este post Link para o post Compartilhar em outros sites
VBBurba 0 Denunciar post Postado Setembro 7, 2006 Essa paginação, só aparece links pra Anterior e Proximo, como que eu coloco números??? Compartilhar este post Link para o post Compartilhar em outros sites
thiago_php 0 Denunciar post Postado Setembro 8, 2006 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
hinom 5 Denunciar post Postado Setembro 8, 2006 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
Alisson Rodrigues 3 Denunciar post Postado Setembro 8, 2006 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 é 1Verifica 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
VBBurba 0 Denunciar post Postado Setembro 8, 2006 Alisson Rodrigues você é o cara! Valeu pela explicação detalhada e tempo gasto comigo!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
VBBurba 0 Denunciar post Postado Setembro 12, 2006 Só uma dúvida Alisson Rodrigues, onde que eu coloco as informações o while???? :blink: Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Setembro 12, 2006 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
VBBurba 0 Denunciar post Postado Setembro 12, 2006 desculpe a ignorancia da pergunta mais enque local eu coloco isso no script? Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Setembro 12, 2006 desculpe a ignorancia da pergunta mais enque local eu coloco isso no script?Onde você quiser que apareça os resultados da busca... :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites