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

Paginação De Resultados


Calaça

Pergunta

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 &gt;&gt;">
                <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>

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

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?

Link para o comentário
Compartilhar em outros sites

  • 0

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 &gt;&gt;">
               <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

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Calaça -

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 é.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Felipe

Nã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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 funciona

você 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...

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...