Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pensar

Combobox dinamica php e ajax.

Recommended Posts

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

É 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

×

Informação importante

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