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

Pesquisar em várias páginas


baldocchi

Pergunta

Sou novo em Javascript e, sinceramente, não sei quase nada.

No meu trabalho me deram a chance de entrar para um novo setor e estou aqui, tentando.

Programo em Pascal há muito tempo - sei que é linguagem "morta", rsrs , mas tudo bem.

 

O fato é que me deram um problema que eu não sei resolver e não consegui encontrar no forum.

 

Tenho uma página de telefones onde o usuário digita uma palavra em uma caixa de texto e ele pesquisa em todos os campos o argumento desejado.

 

O index.php tem várias páginas com 20 registros em cada página e o código busca apenas na primeira página.

Abaixo, segue o código que me passaram para solucionar o problema.

 

O arquivo index_teste_3.php:

 

 

<!doctype html>
<html>
  <head>
    <title>:: RAMAIS - teste 3 ::</title>
    <meta charset="utf-8" />
 
<link rel="stylesheet" href="teste_3/custom.css" media="screen" />
 
<script type="text/javascript" src="teste_3/jquery.min.js"></script>
<script type="text/javascript" src="teste_3/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="teste_3/jquery.tablesorter.pager.js"></script>
 
  </head>
  <body>
    
    <h1>Lista de Ramais</h1>
    
    <form method="post" action="index_teste_3.php" id="frm-filtro">
      <p>
        <label for="pesquisar">Pesquisar :</label>
        <input type="text" id="pesquisar" name="pesquisar" size="20" />
      </p>
    </form>
    <tbody>
<table id="tabela">
  <thead> <tr>
    <th><div align="center">Prefixo</div></th>
    <th><div align="center">Ramal</div></th>
    <th><div align="center">Servidor</div></th>
<th><div align="center">E-mail</div></th>
<th><div align="center">Sala</div></th>
<th><div align="center">Coordenadoria</div></th>
    <th><div align="center">Divisão</div></th>
    <th><div align="center">Núcleo</div></th>
<th><div align="center">Linha</div></th>
  </tr>
  </thead> 
 
      
 
<?php
 
include 'db.php';
 
$qry = mysql_query("select * from tserv order by nome"); 
//$qry = mysql_query("select prefixo, ramal, nome, email, sala, coordenadoria, divisao, nucleo, tipotel from tserv");
 
//Pegando os nomes dos campos
$num_fields = mysql_num_fields($qry);//Obtém o número de campos do resultado
 
for($i = 0;$i<$num_fields; $i++){//Pega o nome dos campos
$fields[] = mysql_field_name($qry,$i);
}
//Montando o corpo da tabela
$table .= '<tbody>';
while($r = mysql_fetch_array($qry)){
$table .= '<tr>';
for($i = 0;$i < 1; $i++){
$table .= '<td>'.$r[$fields[4]].'</td>';
$table .= '<td align=left>'.$r[$fields[5]].'</td>';
$table .= '<td align=left><a href="mailto:'.$r[$fields[10]].'@empresa.com.br" style="text-decoration:none">'.$r[$fields[1]].'</td>';
$table .= '<td align=left>'.$r[$fields[10]].'</td>';
$table .= '<td>'.$r[$fields[28]].'</td>';
$table .= '<td align=left>'.$r[$fields[33]].'</td>';
$table .= '<td align=left>'.$r[$fields[15]].'</td>';
$table .= '<td align=left>'.$r[$fields[16]].'</td>';
$table .= '<td>'.$r[$fields[32]].'</td>';
}
$table .= '</tr>';
}
 
//Finalizando a tabela
$table .= '</tbody></table>';
 
//Imprimindo a tabela
echo $table;
?>
    
    <div id="pager" class="pager">
    <form>
<span>
Exibir <select class="pagesize">
<option selected="selected"  value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option  value="50">50</option>
</select> registros          
</span>
 
<img src="teste_3/first.png" class="first"/>
    <img src="teste_3/prev.png" class="prev"/>
    <input type="text" class="pagedisplay"/>
    <img src="teste_3/next.png" class="next"/>
    <img src="teste_3/last.png" class="last"/>
    </form>
    </div>
    
    <script>
    $(function(){
      
      $('table > tbody > tr:odd').addClass('odd');
      
      $('table > tbody > tr').hover(function(){
        $(this).toggleClass('hover');
      });
      
      $('#marcar-todos').click(function(){
        $('table > tbody > tr > td > :checkbox')
          .attr('checked', $(this).is(':checked'))
          .trigger('change');
      });
      
      $('table > tbody > tr > td > :checkbox').bind('click change', function(){
        var tr = $(this).parent().parent();
        if($(this).is(':checked')) $(tr).addClass('selected');
        else $(tr).removeClass('selected');
      });
      
      $('form').submit(function(e){ e.preventDefault(); });
      
      $('#pesquisar').keydown(function(){
        var encontrou = false;
        var termo = $(this).val().toLowerCase();
        $('table > tbody > tr').each(function(){
          $(this).find('td').each(function(){
            if($(this).text().toLowerCase().indexOf(termo) > -1) encontrou = true;
          });
          if(!encontrou) $(this).hide();
          else $(this).show();
          encontrou = false;
        });
      });
      
      $("table") 
        .tablesorter({
          dateFormat: 'pt-br',
          headers: {
            10: {
              sorter: false
            },
            11: {
              sorter: false
            }
          }
        }) 
        .tablesorterPager({container: $("#pager")})
        .bind('sortEnd', function(){
          $('table > tbody > tr').removeClass('odd');
          $('table > tbody > tr:odd').addClass('odd');
        });
      
    });
    </script>
  </body>
</html>
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...