Ir para conteúdo
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 . ""
Editado por Criquio

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.

Editado por LuizHK

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.