// JavaScript Document
// FUNÇÃO RESPONSÁVEL DE CONECTAR A UMA PAGINA EXTERNA NO NOSSO CASO A BUSCA_NOME.PHP
// E RETORNAR OS RESULTADOS
function ajax(url)
{
//alert(nick);
//alert(dest);
//alert(msg);
req = null;
// Procura por um objeto nativo (Mozilla/Safari)
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET",url,true);
req.send(null);
// Procura por uma versão ActiveX (IE)
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET",url,true);
req.send();
}
}
}
function processReqChange()
{
// apenas quando o estado for "completado"
if (req.readyState == 4) {
// apenas se o servidor retornar "OK"
if (req.status ==200) {
// procura pela div id="pagina" e insere o conteudo
// retornado nela, como texto HTML
document.getElementById('pagina').innerHTML = req.responseText;
} else {
alert("Houve um problema ao obter os dados:n" + req.statusText);
}
}
}
busca_nome.php
<?php
if(!empty($_GET["valor"]))
{
// O CAMPO VALOR CONTERÁ O QUE O USUARIO DIGITOU ATÉ O MOMENTO..
// CONECTA AO BANCO COLOCA PARAMENTROS IP,USUARIO,SENHA
require_once('../conecta.php');
// EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU
$sql="select * from pessoa where nome like '$_GET[valor]%'";
$resultado=mysql_query($sql) or die (mysql_error());
//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS
$linhas=mysql_num_rows($resultado);
if($linhas>0){
//EXECUTA UM LOOP PARA MOSTRAR OS NOMES DAS PESSOAS
// VALE LEMBRAR QUE TODOS ESSES RESULTADOS SERAO MOSTRADOS DENTRO DA PAGINA INDEX.PHP
// DENTRO DO DIV 'PAGINA'
while($pegar=mysql_fetch_array($resultado))
echo "$pegar[nome] <br>";
}
}
?>
index.html
<html>
<head>
<title>BUSCA DINÂMICA</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script src="script.js"></script>
<script>
function pesquisa(valor)
{
//FUNÇÃO QUE MONTA A URL E CHAMA A FUNÇÃO AJAX
url="busca_nome.php?valor="+valor;
ajax(url);
}
</script>
</head>
<body>
<table width="657" border="0" bgcolor="#f7f7f7">
<tr>
<td align="center" bgcolor="#CCCCCC"><strong><font color="#FF0000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><-
BUSCA DINÂMICA -></font></strong></td>
</tr>
<tr>
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DIGITE
AQUI O NOME DA PESSOA</strong></font>:
<!-- NOTE Q A CADA TECLA PRESSIONADA É CHAMADA A FUNÇÃO PESQUISA PASSANDO O QUE O USUARIO TEM DIGITADO ATÉ O MOMENTO -->
<input type="text" name="nome" onKeyPress="pesquisa(this.value)"></td>
</tr>
<tr>
<td>
<!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES -->
<div id="pagina"></div></td>
</tr>
</table>
</body>
</html>
Este sistema me retorna o resultado da busca dentro da div="pagina" que está no index.html. Porém ele só me retorna uma única coluna da tabela do BD.
Sei que para obter mais colunas é só acrescentá-las no "echo" do código php, mas elas virão todas juntas na div="pagina".
Gostaria que essas colunas viessem cada uma em um campo text.
EX:
cod dentro do campo cod
produto dentro do campo produto.
O que preciso fazer nestes códigos para obter este resultado?
Pergunta
Anderson Gouveia
Pessoal, boa noite.
Tenho o seguinte código de busca dinâmia:
script.js
// JavaScript Document // FUNÇÃO RESPONSÁVEL DE CONECTAR A UMA PAGINA EXTERNA NO NOSSO CASO A BUSCA_NOME.PHP // E RETORNAR OS RESULTADOS function ajax(url) { //alert(nick); //alert(dest); //alert(msg); req = null; // Procura por um objeto nativo (Mozilla/Safari) if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = processReqChange; req.open("GET",url,true); req.send(null); // Procura por uma versão ActiveX (IE) } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processReqChange; req.open("GET",url,true); req.send(); } } } function processReqChange() { // apenas quando o estado for "completado" if (req.readyState == 4) { // apenas se o servidor retornar "OK" if (req.status ==200) { // procura pela div id="pagina" e insere o conteudo // retornado nela, como texto HTML document.getElementById('pagina').innerHTML = req.responseText; } else { alert("Houve um problema ao obter os dados:n" + req.statusText); } } }busca_nome.php<?php if(!empty($_GET["valor"])) { // O CAMPO VALOR CONTERÁ O QUE O USUARIO DIGITOU ATÉ O MOMENTO.. // CONECTA AO BANCO COLOCA PARAMENTROS IP,USUARIO,SENHA require_once('../conecta.php'); // EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU $sql="select * from pessoa where nome like '$_GET[valor]%'"; $resultado=mysql_query($sql) or die (mysql_error()); //VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS $linhas=mysql_num_rows($resultado); if($linhas>0){ //EXECUTA UM LOOP PARA MOSTRAR OS NOMES DAS PESSOAS // VALE LEMBRAR QUE TODOS ESSES RESULTADOS SERAO MOSTRADOS DENTRO DA PAGINA INDEX.PHP // DENTRO DO DIV 'PAGINA' while($pegar=mysql_fetch_array($resultado)) echo "$pegar[nome] <br>"; } } ?>index.html<html> <head> <title>BUSCA DINÂMICA</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script src="script.js"></script> <script> function pesquisa(valor) { //FUNÇÃO QUE MONTA A URL E CHAMA A FUNÇÃO AJAX url="busca_nome.php?valor="+valor; ajax(url); } </script> </head> <body> <table width="657" border="0" bgcolor="#f7f7f7"> <tr> <td align="center" bgcolor="#CCCCCC"><strong><font color="#FF0000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><- BUSCA DINÂMICA -></font></strong></td> </tr> <tr> <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DIGITE AQUI O NOME DA PESSOA</strong></font>: <!-- NOTE Q A CADA TECLA PRESSIONADA É CHAMADA A FUNÇÃO PESQUISA PASSANDO O QUE O USUARIO TEM DIGITADO ATÉ O MOMENTO --> <input type="text" name="nome" onKeyPress="pesquisa(this.value)"></td> </tr> <tr> <td> <!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES --> <div id="pagina"></div></td> </tr> </table> </body> </html>Este sistema me retorna o resultado da busca dentro da div="pagina" que está no index.html. Porém ele só me retorna uma única coluna da tabela do BD.
Sei que para obter mais colunas é só acrescentá-las no "echo" do código php, mas elas virão todas juntas na div="pagina".
Gostaria que essas colunas viessem cada uma em um campo text.
EX:
cod dentro do campo cod
produto dentro do campo produto.
O que preciso fazer nestes códigos para obter este resultado?
Desde já agradeço a atenção.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.