Calaça Postado Março 17, 2004 Denunciar Share Postado Março 17, 2004 Pessoal, ainda não consegui acertar a paginação no script abaixo. Poderiam colocar uma paginação para mim? <? include "conecta.php"; ?> <html> <head> <title>Pesquisa do Significado dos Nomes</title> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <table width="60%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td height="60"> <div align="center"><font face="Arial" size="4"><b>Pesquisa Significado dos Nomes</b></font></div></td> </tr> </table> <br> <form name="frm_pesq" method="post" action="<?echo $PHP_SELF?>"> <table width="75%" border="0" cellspacing="1" cellpadding="0" align="center"> <tr bgcolor="#6699CC"> <td colspan="2"> <div align="center"><font face="Arial" size="2"><b>Pesquisa</b></font></div></td> </tr> <tr bgcolor="ebebeb"> <td width="32%"><font face="Arial" size="2">Nome a ser procurado:</font></td> <td width="68%"> <font face="Arial" size="2"> <input type="text" name="pesq" size="30"> <input type="submit" value="Pesquisar >>"> <input type="hidden" name="pesquisar" value="sim"></font></td> </tr> </table> </form> <? $sql_cliente = mysql_query("SELECT * FROM tbnomes WHERE nom_nome LIKE '%$pesq%'"); $total = mysql_num_rows($sql_cliente); if ($pesquisar <> 'sim') echo "O Banco de Dados possui ".$total." nomes catalogados"; ?> <br> <? if($pesquisar == 'sim'){ if(mysql_num_rows($sql_cliente) > 0) { if($total >1) { echo "Foram encontrados ".$total." nomes semelhantes a ".$pesq; } Else { echo "Foi encontrado ".$total." nome semelhante a ".$pesq; } ?> <table width="95%" border="0" cellspacing="1" cellpadding="0" align="center"> <tr bgcolor="#6699CC"> <td colspan="5"> <div align="center"><font face="Arial" size="2"><b><font color="#FFFFFF">Nomes cadastrados</font></b></font></div> </td> </tr> <tr bgcolor="cccccc"> <td width="19%"> <div align="center"><b><font face="Arial" size="2">Nome</font></b></div> </td> <td width="63%"> <div align="center"><b><font face="Arial" size="2">Significado</font></b></div> </td> <td width="23%"> <div align="center"><b><font face="Arial" size="2">Fonte</font></b></div> </td> </tr> <?while($array_cliente = mysql_fetch_array($sql_cliente)) {?> <tr bgcolor="ebebeb"> <td width="19%" height="25"><font face="Arial" size="2"> <?echo $array_cliente['nom_nome'];?></font> </td> <td width="33%" height="25"><font face="Arial" size="2"> <?echo $array_cliente['nom_sign'];?></font> </td> <td width="23%" height="25"><font face="Arial" size="2"> <?echo $array_cliente['nom_fonte'];?>/<?echo $array_cliente['uf'];?></font> </td> </tr> <?} // fecha while ?> </table> <?} // fecha mysql_num_rows > 0 else{ echo "<br><br><div align=center><font face=Arial size=2> Desculpe, mas não achei nada<br><br></font></div>"; } } //fecha pesquisar=sim ?> <br><div align=center><font face=Arial size=2> <a href='index.htm'>[ Voltar ]</a></font></div> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 17, 2004 Denunciar Share Postado Março 17, 2004 você não pegou aquele código que o FelipeLopes te passou pelo link? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Calaça Postado Março 17, 2004 Autor Denunciar Share Postado Março 17, 2004 Peguei sim, e ele é muito bom. Só que não conseguí adptar ao meu, pois meu select é de apenas alguns registros. Por ex. quero selecionar só os nomes que inicia pela letra "A". O resultado é a seleção de 200 nomes num BD de 10.000. Esses 200 nomes selecionados quero mostrar de 10 em 10. como fazer isto? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 17, 2004 Denunciar Share Postado Março 17, 2004 segura ai que eu vou ver se arrumo esse código ou adpto ele a uma paginação minha e coloco aqui... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 17, 2004 Denunciar Share Postado Março 17, 2004 cara, eu mexi aqui mas não sei se tá ok porque não testei(não tenho suas tabelas).sua página <? include "conecta.php"; ?> <html> <head> <title>Pesquisa do Significado dos Nomes</title> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <table width="60%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td height="60"> <div align="center"><font face="Arial" size="4"><b>Pesquisa Significado dos Nomes</b></font></div></td> </tr> </table> <br> <form name="frm_pesq" method="post" action="<?echo $PHP_SELF?>"> <table width="75%" border="0" cellspacing="1" cellpadding="0" align="center"> <tr bgcolor="#6699CC"> <td colspan="2"> <div align="center"><font face="Arial" size="2"><b>Pesquisa</b></font></div></td> </tr> <tr bgcolor="ebebeb"> <td width="32%"><font face="Arial" size="2">Nome a ser procurado:</font></td> <td width="68%"> <font face="Arial" size="2"> <input type="text" name="pesq" size="30"> <input type="submit" value="Pesquisar >>"> <input type="hidden" name="pesquisar" value="sim"></font></td> </tr> </table> </form> <? $tabela = "tbnomes"; $clausula = "WHERE nom_nome LIKE '%$pesq%'"; $qtde = "10"; $complink = "&pesq=$pesq"; $class= "link";//estilo css do link se tiver, se não deixa em branco require("paginacao.php"); $sql_cliente = mysql_query("SELECT * FROM $tabela $clausula Limit $inicio,$quantidade"); $linhas = mysql_num_rows($sql_cliente); if ($pesquisar <> 'sim') echo "O Banco de Dados possui ".$total." nomes catalogados"; ?> <br> <? if($pesquisar == 'sim'){ if(mysql_num_rows($sql_cliente) > 0) { if($total >1) { echo "Foram encontrados ".$total." nomes semelhantes a ".$pesq; } Else { echo "Foi encontrado ".$total." nome semelhante a ".$pesq; } ?> <table width="95%" border="0" cellspacing="1" cellpadding="0" align="center"> <tr bgcolor="#6699CC"> <td colspan="5"> <div align="center"><font face="Arial" size="2"><b><font color="#FFFFFF">Nomes cadastrados</font></b></font></div> </td> </tr> <tr bgcolor="cccccc"> <td width="19%"> <div align="center"><b><font face="Arial" size="2">Nome</font></b></div> </td> <td width="63%"> <div align="center"><b><font face="Arial" size="2">Significado</font></b></div> </td> <td width="23%"> <div align="center"><b><font face="Arial" size="2">Fonte</font></b></div> </td> </tr> <?while($array_cliente = mysql_fetch_array($sql_cliente)) {?> <tr bgcolor="ebebeb"> <td width="19%" height="25"><font face="Arial" size="2"> <?echo $array_cliente['nom_nome'];?></font> </td> <td width="33%" height="25"><font face="Arial" size="2"> <?echo $array_cliente['nom_sign'];?></font> </td> <td width="23%" height="25"><font face="Arial" size="2"> <?echo $array_cliente['nom_fonte'];?>/<?echo $array_cliente['uf'];?></font> </td> </tr> <?} // fecha while ?> </table> <? echo "<hr><div align='center' class='$class'>$monta_link</div>"; } // fecha mysql_num_rows > 0 else{ echo "<br><br><div align=center><font face=Arial size=2> Desculpe, mas não achei nada<br><br></font></div>"; } } //fecha pesquisar=sim ?> <br><div align=center><font face=Arial size=2> <a href='index.htm'>[ Voltar ]</a></font></div> </body> </html> paginacao.php <? //-------------------------------------------------// //Script desenvolvido por Luciano Davoglio Molinari// //-------------------------------------------------// if(!isset($pag)) $pag = 0; $quantidade = $qtde; $inicio = $pag * $quantidade; $sql_pag = mysql_query("Select * from $tabela $clausula") or die ("erro de sql pag: ".mysql_error()); $total = mysql_num_rows($sql_pag); $paginas = ceil($total / $quantidade); //anterior if($pag > 0) { $anterior = $pag - 1; $monta_link.= "<a href='?pag=$anterior$complink' class='$class'>Anterior</a>"; } $monta_link.= " | "; for($i=0;$i<$paginas;$i++) { if($pag == "$i") { $monta_link.= " <a href='?pag=$i$complink' class='$class'><b>[$i]</b></a> |"; } else { $monta_link.= " <a href='?pag=$i$complink' class='$class'>$i</a> |"; } } //proxima if($pag < ($paginas - 1)) { $proxima = $pag + 1; $monta_link.= " <a href='?pag=$proxima$complink' class='$class'>Próxima</a>"; } ?> qualquer coisa posta ai Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Calaça - Postado Março 17, 2004 Denunciar Share Postado Março 17, 2004 Obrigado Luciano.Vou testar amanhã, mas gostaria da saber onde se inicializa a variável $complink Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 18, 2004 Denunciar Share Postado Março 18, 2004 ela está dentro do arquivo paginacao.php, ela grava os links (anterior, próximo...) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Calaça Postado Março 18, 2004 Autor Denunciar Share Postado Março 18, 2004 Desculpe a ignorância, nem tinha percebido a variável.Testei e ficou quase bom. O problema é que quando clico na próxima página ela vem em branco. Isto é, não mostra o restante dos registros nas páginas seguintes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Março 19, 2004 Denunciar Share Postado Março 19, 2004 As veses pode ser que o códio não esteja certo "Exibindo a página Posterior", caso não tenha mais dados. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Calaça - Postado Março 19, 2004 Denunciar Share Postado Março 19, 2004 Há mais dados sim. O select seleciona 184 ítens para ser mostrado de 10 em 10 mas só aparece os 10 primeiros, ou seja só a primeira página.Tem alguma coisa errada no meu script que não consigo descobrir o que é. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe_Lopes Postado Março 19, 2004 Denunciar Share Postado Março 19, 2004 Se precisar de ajuda pra instalar o meu sistema de paginaçao, me da um toke: ICQ 59336685 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Calaça Postado Março 19, 2004 Autor Denunciar Share Postado Março 19, 2004 Oi FelipeNão tenho ICQ, mas consegui instalar seu sistema. O problema é que falta nele uma cláusula tipo "WHERE nome LIKE '%$nome'".Quando adiciono esta cláusula ele mostra apenas a primeira página. Não sei como consertar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Março 19, 2004 Denunciar Share Postado Março 19, 2004 muto estranho não estar dando certo, aqui eu uso essa paginação pra tudo q eu preciso, consultas avançadas com filtros.....etc...e sempre funcionavocê pode postar a estrutura da tabela do bd aqui, ai eu vejo se consigo arrumar por aqui..e quanto a o script do Felipe, é só você adaptar a query ao seu modo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Calaça Postado Março 19, 2004 Autor Denunciar Share Postado Março 19, 2004 Até que enfim consegui. Agradeço a todos que ajudaram.Caso queiram conferir e dar mais alguma sujestão para melhorar, a página é www.ingego.org/pesquisanome Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe_Lopes Postado Março 19, 2004 Denunciar Share Postado Março 19, 2004 é ta funcionando!!Da pra ser melhorado o sisteminha.....c você busca por "a" aparecem tipo 800 páginas lincadas rsrs Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Calaça
Pessoal, ainda não consegui acertar a paginação no script abaixo. Poderiam colocar uma paginação para mim?
Link para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
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.