Ir para conteúdo

Arquivado

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

baldocchi

Pesquisa em várias páginas

Recommended Posts

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.

<!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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o código como você fez, eu não tenho ao dropbox aqui :(

o conteúdo do arquivo index_teste_3.php tem o mesmo conteúdo do que eu postei.
eu acho que o problema da pesquisa está neste pedaço de código:
$('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;
});

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.