Ir para conteúdo

Arquivado

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

José Rafael Rocha

Fazer pesquisa de um campo e retornar o resultado na mesma pagina

Recommended Posts

Boa Noite!

Não tenho muito domino de ajax e estou tentando realizar a busca de um campo, onde o usuário digita um numero e faz uma consulta no banco de dados, e traz o resultado pra dentro de uma div sem atualizar a pagina. Fiz esse codigo em ajax mas ele me retorna todos os itens do banco, não me retorna aquele especifico que eu digitei. Tenho que colocar somente o resultado que digite pra dentro da div, mas esta mostrando todos os resultados do banco, se alguem puder ajudar!!

 

<script type="text/javascript">
function carrega_busca() {
$.ajax({
type: "POST",
url: "buscarpatrimonio.php", //pagina onde eu faço a consulta sql
data: {
numero_patrimonio: $('#buscar').val() //numero_patrimonio é o meu campo imput, e #buscar meu botão
},
success: function(data) {
$('#resultado').html(data); //aqui é a div que aparecer o resultado da pesquisa
}
});
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa passar o parâmetro para a url:

buscarpatrimonio.php?c=" + cod

E na página da consulta, passa o código:

SELECT * FROM nome_tabela WHERE campo = " . c . ""

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara fiz como você mencionou mas não deu certo, como disse nao tenho muito dominio com ajax, não sei oq pode ser. Olha ai

 

<script type="text/javascript">
function carrega_busca() {
$.ajax({
type: "POST",
url: "buscarpatrimonio.php?numero="+numero_patrimonio,
data: {
numero: $('#buscar').val()
},
success: function(data) {
$('#resultado').html(data);
}
});
}
Comando SQL:
$temp = $_POST['numero_patrimonio']; //armazena a variavel que o usuario digita na busca
$sql = "select * from bd_patrimonio.patrimonio WHERE numero_patrimonio = '.numero.' LIKE '%$temp%' "; //faz a busca por determinado item

Compartilhar este post


Link para o post
Compartilhar em outros sites

não passe por get não, é pior e menos seguro (na minha opiniao, tudo que der pra fazer por post, faça). amigo é simples, o seu erro está no PHP, a var data é nada mais nada menos que o echo que você está dando na página buscarpatrimonio.php, dê uma olhada no callback dessa página que é aí que está o erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara achu que o erro está na minha pagina onde executa a consulta mesmo, mas o problema é que função ajax não está nem pegando o campo onde eu digito o valor para fazer a busca, eu clico no botao ela ja me traz todos os itens do banco sem mesmo fazer a verificação do campo. A que esta o meu codigo da pagina que realiza a consulta:

<?php
include ("conexao.php");
$temp = $_POST['numero_patrimonio']; //armazena a variavel que o usuario digita na busca
$sql = "select * from bd_patrimonio.patrimonio WHERE numero_patrimonio LIKE '%$temp%' "; //faz a busca por determinado item
$resultado = mysql_query($sql);
$linhas = mysql_num_rows($resultado);
echo "<table border=\"1\">";
echo "<tr>";
echo "<td> Numero Patrimonio </td>";
echo "<td> Conta Patrimonial </td>";
echo "<td> Discriminação </td>";
echo "<td> Quantidade </td>";
echo "<td> Valor Unitário </td>";
echo "<td> Valor Total </td>";
echo "<td> Setor </td>";
echo "<td> Conservação </td>";
echo "<td> Origem </td>";
echo "<td> Nota Fiscal </td>";
echo "<td> Numero Empenho </td>";
echo "<td> Data Empenho </td>";
for($cont = 0 ; $cont < $linhas; $cont++)
{
$patrimonio = mysql_fetch_array($resultado);
echo "<tr>";
echo "<td> ".$patrimonio["numero_patrimonio"]."</td>";
echo "<td> ".$patrimonio["Idconta_patrimonial"]."</td>";
echo "<td> ".$patrimonio["discriminacao"]."</td>";
echo "<td> ".$patrimonio["quantidade"]."</td>";
echo "<td> ".$patrimonio["valor_unitario"]."</td>";
echo "<td> ".$patrimonio["valor_total"]."</td>";
echo "<td> ".$patrimonio["Id_setor"]."</td>";
echo "<td> ".$patrimonio["Id_conservacao"]."</td>";
echo "<td> ".$patrimonio["Id_origem"]."</td>";
echo "<td> ".$patrimonio["nota_fiscal"]."</td>";
echo "<td> ".$patrimonio["numero_empenho"]."</td>";
echo "<td> ".$patrimonio["data_empenho"]."</td>";
echo"</td>";
}
echo "</table><BR><BR>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Joga teu select direto no BD e vê se está funcionando. Verifica no console do browser o que está retornando teu Ajax.

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.