Preciso de uma ajuda senão minha cuca vai explodir.
Pra ficar fácil de entender, vou dizer o que tenho, e o que pretendo fazer.
Tenho em minha página um campo principal com autocomplemento (google sugest) que funciona belezinha.
Tenho no mysql, uma tabela com os campos (Cod, Produto, preço).
Gostaria de disponibilizar na página, mais 3 campos, na verdade serião 3 <td>, cada uma com sua id independente.
Quando o usuário inserisse o dado no campo principal (seja digitando ou pelo autocomplemento), com a função onblur fosse feita a busca no BD e cada um dos campos (Cod, Produto, preço), fosse retornado um em cada <td>.
Já tenho a página php que faz a busca no BD, e um script.js para tratar a requisição, mas só consigo fazer ele me retornar um único campo.
busca.php
<?php
header('Content-type: text/html; charset=iso-8859-1');
if(!empty($_GET["valor"]))
{
require_once('conecta.php');
$sql="select * from produto where cod= '$_GET[valor]'";
$resultado=mysql_query($sql) or die (mysql_error());
$linhas=mysql_num_rows($resultado);
if($linhas>0){
while($pegar=mysql_fetch_array($resultado)){
echo $pegar[produto];
}
}
}
?>
script.js
// JavaScript Document
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) {
document.getElementById('pagina').innerHTML = req.responseText;
} else {
alert("Houve um problema ao obter os dados:n" + req.statusText);
}
}
}
E na págian onde serão exibidos os resultados:
<script>
function pesquisa(valor)
{
//FUNÇÃO QUE MONTA A URL E CHAMA A FUNÇÃO AJAX
url="busca.php?valor="+valor;
ajax(url);
}
</script>
Eu precisaria criar uma fila de requisição para isto?
(busca dado campo principal => preenche campo 1;
busca dados campo1 => preenche campo 2;
busca dados campo 2 => preenche campo 3;)
Ou, como a consulta ao banco vai me retornar somente uma linha, ou seja, um array com 3 chaves , teria como o js interpretar essa array e retornar no campo 1 a primeira chave, no campo 2 a segunda e campo 3 a terceira?
Como eu poderia criar uma fila, ou uma interpretação do array?
Pergunta
Anderson Gouveia
Pessoal, boa noite!
Preciso de uma ajuda senão minha cuca vai explodir.
Pra ficar fácil de entender, vou dizer o que tenho, e o que pretendo fazer.
Tenho em minha página um campo principal com autocomplemento (google sugest) que funciona belezinha.
Tenho no mysql, uma tabela com os campos (Cod, Produto, preço).
Gostaria de disponibilizar na página, mais 3 campos, na verdade serião 3 <td>, cada uma com sua id independente.
Quando o usuário inserisse o dado no campo principal (seja digitando ou pelo autocomplemento), com a função onblur fosse feita a busca no BD e cada um dos campos (Cod, Produto, preço), fosse retornado um em cada <td>.
Já tenho a página php que faz a busca no BD, e um script.js para tratar a requisição, mas só consigo fazer ele me retornar um único campo.
busca.php
script.js E na págian onde serão exibidos os resultados:Eu precisaria criar uma fila de requisição para isto?
(busca dado campo principal => preenche campo 1;
busca dados campo1 => preenche campo 2;
busca dados campo 2 => preenche campo 3;)
Ou, como a consulta ao banco vai me retornar somente uma linha, ou seja, um array com 3 chaves , teria como o js interpretar essa array e retornar no campo 1 a primeira chave, no campo 2 a segunda e campo 3 a terceira?
Como eu poderia criar uma fila, ou uma interpretação do array?
Desde já agradeço a atenção de todos.
Link para o comentário
Compartilhar em outros sites
4 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.