Henrique Fleury 0 Denunciar post Postado Março 29, 2009 E ai galera beleza? E o seguinte eu peguei um codigo aqui no imasters aonde eu coloco o estado ele da um refresh para aparecer as cidades relacionadas com o estado, ele da esse refresh mas nao esta aparecendo as cidades pelo o q vejo nao e problema com o codigo do mysql e eu nao sei nada de ajax entao sera que o pessoal poderia ler o codigo e ve se tem algo errado? <? //CONECTA AO MYSQL require_once("conexao.php"); //PEGA OS ESTADOS $sql = " SELECT a.ID_ESTADO, a.DSC_ESTADO, a.SIGL_ESTADO FROM estados a ORDER BY a.DSC_ESTADO"; //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].listCidades.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 estado--"; } } } //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 para 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 das opções 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].listCidades.options.add(novo); } } else { //caso o XML volte vazio, printa a mensagem abaixo idOpcao.innerHTML = "--Não retornou nada!--"; } } </script> <html> <head> <title>127º artigo PHP</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF"> <table width="200" border="1" cellspacing="0" cellpadding="0" align="center"> <tr> <td>Cadastra Cidade!</td> </tr> </table> <p> </p> <form name="frmAjax"> Estado: <select name="listEstados" onChange="Dados(this.value);"> <option value="0">--Selecione o estado >></option> <? for($i=0; $i<$row; $i++) { ?> <option value="<? echo mysql_result($sql, $i, "ID_ESTADO"); ?>"> <? echo mysql_result($sql, $i, "DSC_ESTADO"); ?></option> <? } ?> </select> <br><br> Cidade: <select name="listCidades" onChange="alert(this.value);"> <option id="opcoes" value="0">--Primeiro selecione o estado--</option> </select> </form> </body> </html> Ai se alguem quize ver ai o q q esse codigo faz entra ai e ve que da o refresh mas nao aparece a cidade. Vlw galera! Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Fleury 0 Denunciar post Postado Março 30, 2009 Ja resolvi esse problema :D Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Março 30, 2009 maravilha http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif c der poste ae como conseguiw! []s Compartilhar este post Link para o post Compartilhar em outros sites