pensar 1 Denunciar post Postado Fevereiro 13, 2007 Saudaçoes galera .. O seguinte estou com o script do site do imasters que faz o carregamento de uma combobox de acordo com o valor selecionao na anterior. Agora como faço pra inserir uma terceira combobox para puxar o valor de segunda...?? Ela esta assim 1- lista escritorios regionais. 2 - lista os locais ligado ao regional e terceiro quero ligar os departamentos dos locais... a tabela ja esta criada so nao estou conseguindo adaptar a esse script.. Segue os codigos CADASTRO.PHP <?//include_once('restrito.php');?> <? //PEGA OS Regionais require_once("conecta.php"); //PEGA OS Regionais $sql = " SELECT a.cod_esc_regional, a.nm_esc_regional FROM tb_esc_regional a ORDER BY nm_esc_regional"; //EXECUTA A QUERY $sql = mysql_query($sql); $row = mysql_num_rows($sql); ?><script language="JavaScript"> function Dados(valor) { //verifica se o browser tem suporte a ajax try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch(ex) { try { ajax = new XMLHttpRequest(); } catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); ajax = null; } } } //se tiver suporte ajax if(ajax) { //deixa apenas o elemento 1 no option, os outros são excluídos document.forms[0].list_local.options.length = 1; idOpcao = document.getElementById("opcoes"); ajax.open("POST", "cidades.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange = function() { //enquanto estiver processando...emite a msg de carregando if(ajax.readyState == 1) { idOpcao.innerHTML = "Carregando...!"; } //após ser processado - chama função processXML que vai varrer os dados if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML(ajax.responseXML); } else { //caso não seja um arquivo XML emite a mensagem abaixo idOpcao.innerHTML = "--Primeiro selecione o Regional--"; } } } //passa o código do estado escolhido var params = "estado="+valor; ajax.send(params); } } function processXML(obj){ //pega a tag cidade var dataArray = obj.getElementsByTagName("cidade"); //total de elementos contidos na tag cidade if(dataArray.length > 0) { //percorre o arquivo XML paara extrair os dados for(var i = 0; i < dataArray.length; i++) { var item = dataArray[i]; //contéudo dos campos no arquivo XML var codigo = item.getElementsByTagName("codigo")[0].firstChild.nodeValue; var descricao = item.getElementsByTagName("descricao")[0].firstChild.nodeValue; idOpcao.innerHTML = "--Selecione uma dos locais abaixo--"; //cria um novo option dinamicamente var novo = document.createElement("option"); //atribui um ID a esse elemento novo.setAttribute("id", "opcoes"); //atribui um valor novo.value = codigo; //atribui um texto novo.text = descricao; //finalmente adiciona o novo elemento document.forms[0].list_local.options.add(novo); } } else { //caso o XML volte vazio, printa a mensagem abaixo idOpcao.innerHTML = "--Primeiro selecione o Regional--"; } } </script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><link href="../fontes.css" rel="stylesheet" type="text/css"><title>Untitled Document</title><style type="text/css"><!--body,td,th { font-family: Arial, Helvetica, sans-serif; font-size: 12px;}.style3 { font-size: 14px; font-weight: bold;}--></style></head><body><form id="form" name="form" method="post" action="cadastrar.php"> <table width="750" border="0" align="center"> <tr> <td colspan="6"><div align="center"><span class="style3">Cadastro de Posto Avançado </span><br /> </div> <hr /></td> </tr> <tr> <td width="50"><p class="Texto_form"> </p></td> <td width="93"><label>Ag. Regional </label></td> <td width="224"><select name="list_regional" id="list_regional" onChange="Dados(this.value);"> <option value="0">--Selecione o Regional >></option> <? for($i=0; $i<$row; $i++) { ?> <option value="<? echo mysql_result($sql, $i, "cod_esc_regional"); ?>"> <? echo mysql_result($sql, $i, "nm_esc_regional"); ?></option> <? } ?> </select></td> <td width="82"> </td> <td width="123"> </td> <td width="152"> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td>Ag. Municipal </td> <td><select name="list_local" id="list_local"> <option id="opcoes" value="0">--Primeiro selecione o Regional--</option> </select></td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td colspan="2"> </td> <td colspan="2"> </td> </tr> <tr> <td> </td> <td>Departamento</td> <td colspan="2"><select name="dep" id="dep"> <option id="opcoes2" value="0">--Primeiro selecione o --</option> </select> </td> <td colspan="2"> </td> </tr> <tr> <td> </td> <td><input name="Enviar" type="submit" id="Enviar" value="Enviar" /></td> <td colspan="2"><input name="limpar" type="reset" id="limpar" value="LImpar" /></td> <td> </td> <td> </td> </tr> </table></form></body></html> CIDADES.PHP <?/******************************************************************// ARQUIVO ...: Monta o XML das Cidades // BY ........: Júlio César Martini // DATA ......: 14/03/2006 /******************************************************************///CONECTA AO MYSQL require_once("conecta.php"); //RECEBE PARÃMETRO $pEstado = $_POST["estado"]; //QUERY $sql = " SELECT a.cod_esc_local, a.nm_esc_local, a.tb_esc_regional_cod_esc_regional FROM tb_esc_local a WHERE a.tb_esc_regional_cod_esc_regional = ".$pEstado." ORDER BY a.nm_esc_local"; //EXECUTA A QUERY $sql = mysql_query($sql); $row = mysql_num_rows($sql); //VERIFICA SE VOLTOU ALGO if($row) { //XML $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; $xml .= "<cidades>\n"; //PERCORRE ARRAY for($i=0; $i<$row; $i++) { $codigo = mysql_result($sql, $i, "cod_esc_local"); $descricao = mysql_result($sql, $i, "nm_esc_local"); $xml .= "<cidade>\n"; $xml .= "<codigo>".$codigo."</codigo>\n"; $xml .= "<descricao>".$descricao."</descricao>\n"; $xml .= "</cidade>\n"; }//FECHA FOR $xml.= "</cidades>\n"; //CABEÇALHO Header("Content-type: application/xml; charset=iso-8859-1"); }//FECHA IF (row) //PRINTA O RESULTADO echo $xml; ?> Compartilhar este post Link para o post Compartilhar em outros sites
pensar 1 Denunciar post Postado Fevereiro 13, 2007 É isso mesmo tm mas esse codigo ta um pouco complicado rrs e ele nao pux do banco ..Falow.. Compartilhar este post Link para o post Compartilhar em outros sites