Ir para conteúdo
Fórum Script Brasil
  • 0

COMBO BOX com AJAX e MySql


wandelcy

Pergunta

Pessoal, tenho o seguinte código :

<form >

<select name="id" id="id" onchange="doBusca(this.options[this.selectedIndex].value)">

<option ><b>Selecione o Cliente</b></option>

<?php

$resultado = mysql_query("select * from cadastro ORDER BY nome ");

while ($linha=mysql_fetch_array($resultado)){

$id=$linha['Id'];

$nome=$linha['nome'];

$endereco=$linha['endereco'];

$bairro=$linha['Bairro'];

$cep=$linha['cep'];

$cidade=$linha['cidade'];

$xf=$linha['UF'];

$tipo = substr($nome,0,30);

echo "<option value=.$id.">".$tipo."</option>";

}

echo $_POST["$id];

?>

</select>

-----------------------------------------------------------------------------------

a função em AJAX

&lt;script type="text/javascript">

try{

xmlhttp = new XMLHttpRequest();

}catch(ee){

try{

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

}catch(e){

try{

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}catch(E){

xmlhttp = false;

}

}

}

function doBusca(id){

//limpa o select

var c=document.getElementById("dados")

while(c.options.length>0)c.options[0]=null

c.options[0]=new Option(" -- Aguarde ... -- "," -- Aguarde ... -- ")

//Monta a url com a uf

xmlhttp.open("GET", "busca_nome.php?id=+id,true);

xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState==4){

//limpa o select

var c=document.getElementById("dados")

while(c.options.length>0)c.options[0]=null

//Transforma a lista de cidades JSON em Javascript

var adados=eval((xmlhttp.responseText))

//popula o select com a lista de cidades obtida

for(var i=0;i<adados.length;i++){

adados=unescape(adados)

c.options[c.options.length]=new Option(adados,adados)

}

}

}

xmlhttp.send(null)

}

</script>

-----------------------------------------------------------------------------------------

rotina em PHP que busca os dados:

<?php

$sql = "SELECT * FROM cadastro WHERE id='".$_GET[id]."'";

$res = mysql_query($sql) or die ("ERRO AO CONSULTAR CLIENTE");

$num = mysql_num_rows($res);

echo "[";

for ($i=0; $i<$num; $i++){

if ($i > 0 and $i < $num){

echo ",";

}

echo "'";

echo mysql_result($res,$i,'nome');

echo "'";

}

echo ]";

?>

Gostaria de fazer o seguinte:

Quando seleciono o cliente no select, imediatamente ele mostra abaixo (do select) os dados deste cliente como: endereço, cep, bairro, cidade e estado., simplesmente imprimindo na tela, assim, mudando o cliente no select, mostra os dados do mesmo cliente logo abaixo.

alguém me salve... , estou a dias e não consigo fazer esta rotina.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...