Evandro Oliveira 331 Denunciar post Postado Fevereiro 18, 2010 remova echo $idoficinas; do oficinas.ajax.php Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 18, 2010 Ok removi.....ele não exibe mais o erro...mais fica carregando apenas..... Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 18, 2010 comente estas 3 linhas for (var i = 0; i < j.length; i++) { options += '<option value="' + j[i].idprofessores + '">' + j[i].nome + '</option>'; } $('#idprofessores').html(options).show(); $('.carregando').hide(); e adicione alert(j.toSource()); execute com o Firefox e me diga o que aparece escrito na caixa de alerta Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 18, 2010 Nao sei se você nao leu. Mas eu disso num post que aqui você chama a página com um parametro SEARCH $.getJSON('oficinas.ajax.php?search=',{idoficinas: $(this).val(), ajax: 'true'}, function(j){ e no php você ta colocando idoficinas $idoficinas = mysql_real_escape_string( $_REQUEST['idoficinas'] ); É para ser $_REQUEST['search']; :S Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 18, 2010 realizei as alterações q vcs me indicaram.... <select name="idprofessores" id="idprofessores"> <option value="">Escolha um Professor</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ $('#idoficinas').change(function(){ if( $(this).val() ) { $('#idprofessores').hide(); $('.carregando').show(); //$.getJSON('oficinas.ajax.php?search=',{titulo1: $(this).val(), ajax: 'true'}, function(j){ $.getJSON('oficinas.ajax.php?search=',{idoficinas: $(this).val(), ajax: 'true'}, function(j){ var options = '<option value=""></option>'; //for (var i = 0; i < j.length; i++) { //options += '<option value="' + j[i].idprofessores + '">' + j[i].nome + '</option>'; //} //$('#idprofessores').html(options).show(); //$('.carregando').hide(); alert(j.toSource()); }); } else { $('#idprofessores').html('<option value="">– Escolha um Professor –</option>'); } }); }); </script> mais ainda continua só carregando Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 18, 2010 remova o comentário do $('.carregando').hide() não subiu nenhuma msg de alerta? é possível que seu controlador AJAX não esteja enviando uma resposta troque $.getJSON('oficinas.ajax.php?search=',{idoficinas: $(this).val(), ajax: 'true'}, function(j){ por $.getJSON('oficinas.ajax.php',{"idoficinas":$(this).val(),"ajax": true},function(j){ e onde provavelmente vai estar: $idoficinas = mysql_real_escape_string( $_REQUEST['search'] ); volte para $idoficinas = mysql_real_escape_string( $_REQUEST['idoficinas'] ); Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 18, 2010 eu removi o comentário do $('.carregando').hide() não mostra nenhum alerta.....esse negócio já esta me deixando tonta..... Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 18, 2010 remova o comentário do $('.carregando').hide() não subiu nenhuma msg de alerta? é possível que seu controlador AJAX não esteja enviando uma resposta troque $.getJSON('oficinas.ajax.php?search=',{idoficinas: $(this).val(), ajax: 'true'}, function(j){ por $.getJSON('oficinas.ajax.php',{"idoficinas":$(this).val(),"ajax": true},function(j){ e onde provavelmente vai estar: $idoficinas = mysql_real_escape_string( $_REQUEST['search'] ); volte para $idoficinas = mysql_real_escape_string( $_REQUEST['idoficinas'] ); fiz essas alterações....mais continua do msm jeito....não mostra alerta....e nem no explorer mostra nenhum erro.....não sei mais oq fazer....:(/> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 18, 2010 eu removi o comentário do $('.carregando').hide() não mostra nenhum alerta.....esse negócio já esta me deixando tonta..... kkkkk a mim também. topa começar, mais ou menos, desde o começo??? apague $('#idoficinas').change(function(){ if( $(this).val() ) { $('#idprofessores').hide(); $('.carregando').show(); //$.getJSON('oficinas.ajax.php?search=',{titulo1: $(this).val(), ajax: 'true'}, function(j){ $.getJSON('oficinas.ajax.php?search=',{idoficinas: $(this).val(), ajax: 'true'}, function(j){ var options = '<option value=""></option>'; //for (var i = 0; i < j.length; i++) { //options += '<option value="' + j[i].idprofessores + '">' + j[i].nome + '</option>'; //} //$('#idprofessores').html(options).show(); //$('.carregando').hide(); alert(j.toSource()); }); } else { $('#idprofessores').html('<option value="">– Escolha um Professor –</option>'); } }); por partes, se alguma coisa sair fora do previsto, basta me dizer 'A parte X acontece tal coisa', combinado? parte 1 $('#idprofessores').change(function(){alert('parte 1 ok')}deverá subir uma msg "parte 1 ok" parte 2 $('#idprofessores').change(function(){ alert($(this).val()); $.getJSON('oficinas.ajax.php',function(json){alert('teste Ajax OK');}); }deverão subir duas msg's, a primeira contendo o valor(id) da oficina selecionada, o segundo contendo "teste Ajax OK" parte 3 $('#idprofessores').change(function(){ $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json){alert('Oficina selecionada: '+json);}); } oficinas.ajax.php $idOficina = $_REQUEST['oficina']; json_encode($idOficina); deverá subir um alerta contendo "Oficina selecionada: {idOficina}" parte4 $('#idprofessores').change(function(){ $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json){alert(json.toSource());}); } $idOficina = @mysql_real_escape_string($_REQUEST['oficina']); $sql = "SELECT idprofessores, nome FROM professores WHERE oficinas_idoficinas=$idOficina ORDER BY nome"; mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db('teste') or die(mysql_error()); $rs = mysql_query($sql) or die(mysql_error()); $output = array(); while(false !== ($row = mysql_fetch_assoc($rs))) $output[] = $row; json_encode($output); execute [oficinas.ajax.php] veja se há um retorno em branco execute [oficinas.ajax.php?oficina=1] veja se há o retorno de uma matriz contendo o id do professor e o nome, como deseja execute o arquivo principal e veja se sobe um alerta contendo algo semelhante ao exibido no segundo teste da oficinas.ajax.php parte 5 $('#idprofessores').change(function(){ $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json){ var html = ''; for (i = 0; i < json.lenght; i++) html =+ '<option value="' + json[i].id +'">'+ json[i].nome + '</option>'; $('#idprofessores').html(html); }); } verifique se obtem o resultado desejado Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 18, 2010 Olha só....eu fiz parte por parte...como você indicou acima....não exibe nenhum alerta em nenhuma das partes....e na parte 1 ele reclama do $ veja: <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ //parte 1 $('#idprofessores').change(function(){alert('parte 1 ok')} //parte2 $('#idprofessores').change(function(){ alert($(this).val()); $.getJSON('oficinas.ajax.php',function(json){alert('teste Ajax OK');}); //parte3 $('#idprofessores').change(function(){ $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json){alert('Oficina selecionada: '+json);});} //parte4 $('#idprofessores').change(function(){ $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json){alert(json.toSource());});} //parte5 $('#idprofessores').change(function(){ $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json){ var html = ''; for (i = 0; i < json.lenght; i++) html =+ '<option value="' + json[i].id +'">'+ json[i].nome + '</option>'; $('#idprofessores').html(html); }); }); </script> oficina.ajax.php <?php header( 'Cache-Control: no-cache' ); header('Content-Type: application/json; charset="utf-8"', true); $idOficina = @mysql_real_escape_string($_REQUEST['oficina']); $sql = "SELECT idprofessores, nome FROM professores WHERE oficinas_idoficinas=$idOficina ORDER BY nome"; mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db('teste') or die(mysql_error()); $rs = mysql_query($sql) or die(mysql_error()); $output = array(); while(false !== ($row = mysql_fetch_assoc($rs))) $output[] = $row; json_encode($output); ?> E qnd tento carregar oficinas.ajax.php ou oficinas.ajax.php?oficina=1 ...ele abre uma janela pedindo para salvar o arquivo php. Eu to pirando já..... Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 18, 2010 Nana, era pra fazer parte por parte, e não todas juntas =) E pode salvar o arquivo php e abrir com o bloco de notas. Acredito que não tenha problema nenhum com o ajax.php Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 18, 2010 Nana, era pra fazer parte por parte, e não todas juntas =) E pode salvar o arquivo php e abrir com o bloco de notas. Acredito que não tenha problema nenhum com o ajax.php Desculpaaa.....eu viajei agora..entendi q era para fazer tudo em um arquivo só.....eu to falando q isso ta me deixando louca....rsrs.....amanha eu faço essa correção.....volto a postar....mais uma vez valew... Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 19, 2010 Nana, era pra fazer parte por parte, e não todas juntas =) E pode salvar o arquivo php e abrir com o bloco de notas. Acredito que não tenha problema nenhum com o ajax.php Desculpaaa.....eu viajei agora..entendi q era para fazer tudo em um arquivo só.....eu to falando q isso ta me deixando louca....rsrs.....amanha eu faço essa correção.....volto a postar....mais uma vez valew... Olá....bom dia.... Fiz parte por parte....mais sem sucesso...veja... parte 1 <select name="idprofessores" id="idprofessores"> <option value="">Escolha um Professor</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ //parte 1 $('#idprofessores').change(function(){alert('parte 1 ok')}); }); </script> O Parte 1 não mostra nenhuma msg de alerta.....:(/> --------------------------------------------------------------------------------------------------- parte 2 <select name="idprofessores" id="idprofessores"> <option value="">Escolha um Professor</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ /*------------------------//parte2------------------------------*/ $('#idprofessores').change(function() { alert($(this).val()) $.getJSON('oficinas.ajax.php',function(json) { alert('teste Ajax OK') }); }); }); /*-----------------------------------------------------------------*/ </script> Também sem nenhum alerta... ----------------------------------------------------------------------------------------------------- parte 3 <select name="idprofessores" id="idprofessores"> <option value="">Escolha um Professor</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ /*---------------------//parte3---------------------------------*/ $('#idprofessores').change(function() { $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json) { alert('Oficina selecionada: '+json); }); }); }); /*--------------------------------------------------------------*/ </script> oficinas.ajax.php <?php header( 'Cache-Control: no-cache' ); header('Content-Type: application/json; charset="utf-8"', true); $con = mysql_connect( 'localhost', 'root', '' ) ; mysql_select_db( 'teste', $con ); $idOficina = $_REQUEST['oficina']; $professores = array(); $sql = "SELECT idprofessores, nome FROM professores WHERE oficinas_idoficinas=$idoficinas ORDER BY nome"; $res = mysql_query( $sql ); while ( $row = mysql_fetch_assoc( $res ) ) { $professores[] = array( 'idprofessores' => $row['idprofessores'], 'nome' => $row['nome'], ); } echo( json_encode($idOficina) ); ?> Não acontece nada parte 4 <select name="idprofessores" id="idprofessores"> <option value="">Escolha um Professor</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ /*----------------------//parte4--------------------------------*/ /* $('#idprofessores').change(function() { $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json) { alert(json.toSource()); }); }); });*/ /*--------------------------------------------------------------*/ </script> parte 5 <select name="idprofessores" id="idprofessores"> <option value="">Escolha um Professor</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ /*-----------------------//parte5-------------------------------*/ $('#idprofessores').change(function() { $.getJSON('oficinas.ajax.php',{"oficina":$(this).val()},function(json) { var html = ''; for (i = 0; i < json.lenght; i++) html =+ '<option value="' + json[i].id +'">'+ json[i].nome + '</option>'; $('#idprofessores').html(html); }); }); }); /*--------------------------------------------------------------*/ </script> Eu não sei mais oq faço....tentei outras coisas aqui tb mais sem sucesso...pq os alertas não são mostrados? Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 19, 2010 Sem jQuery. ajax.js <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(tuf){ //limpa o select var c=document.getElementById("professor1") 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", "oficinas.php?titulo="+tuf,true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4){ //limpa o select var c=document.getElementById("professor1") while(c.options.length>0)c.options[0]=null //Transforma a lista de cidades JSON em Javascript var aCidades = eval((xmlhttp.responseText)) //popula o select com a lista de cidades obtida for(var i=0;i<aCidades.length;i++){ aCidades[i]=unescape(aCidades[i]) c.options[c.options.length]=new Option(aCidades[i],aCidades[i+1]) i++; } } } xmlhttp.send(null) } </script> Sua página <select name="titulo1" id="titulo1" onChange="doBusca(this.options[this.selectedIndex].value)"> <option value="Selecione">Selecione</option> <? /*************************************************************************************** Consulta do idparticipantes e nome dos participantes existentes e mostrar no select ****************************************************************************************/ $sql_oficinas= "SELECT idoficinas, titulo from oficinas order by titulo asc"; $res = mysql_query($sql_oficinas) or die (mysql_error()); while($row=mysql_fetch_array($res)) { //echo("<option>" .$row["titulo"]."</option>"); echo("<option value=".$row["titulo"].">" .$row["titulo"]."</option>"); } ?> </select> <select name="professor1" id="professor1"> <option value="">Selecione</option> </select> php <?php header( 'Cache-Control: no-cache' ); $con = mysql_connect( 'localhost', 'root', '' ) ; mysql_select_db( 'teste', $con ); $titulo1 = $GET['titulo'] ); $oficinas = array(); $sql_oficinas = "SELECT professor FROM oficinas WHERE titulo= '$titulo1' ORDER BY professor"; $res = mysql_query( $sql_oficinas ); while($arr = mysql_fetch_array($res)) { $professores = $arr['professores']; } echo $professores; ?> Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 19, 2010 Olá.....fiz a alteração q você sugeriu....ele esta pegando o nome do professor correto.....só q não exibe no select... e esta me dando esse erro: Erro: missing ; before statement Veja: formoficinas.php <select name="idoficinas" id="idoficinas" onchange="doBusca(this.options[this.selectedIndex].value)"> <option value="Selecione">Selecione</option> <? /*************************************************************************************** Consulta do idparticipantes e nome dos participantes existentes e mostrar no select ****************************************************************************************/ $sql= "SELECT idoficinas, titulo from oficinas order by titulo asc"; $res = mysql_query($sql) or die (mysql_error()); while($row=mysql_fetch_array($res)) { echo '<option value="'.$row['idoficinas'].'">'.$row['titulo'].'</option>'; } ?> </select> <span class="carregando">Aguarde, carregando...</span> <select name="idprofessores" id="idprofessores" > <option value="">Escolha um Professor</option> </select> <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(tuf){ //limpa o select var c=document.getElementById("idprofessores") 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", "oficinas.ajax.php?idoficinas="+tuf,true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4){ //limpa o select var c=document.getElementById("nome") while(c.options.length>0)c.options[0]=null //Transforma a lista de cidades JSON em Javascript var nome = eval((xmlhttp.responseText)) //popula o select com a lista de cidades obtida for(var i=0;i<nome.length;i++){ nome[i]=unescape(nome[i]) c.options[c.options.length]=new Option(nome[i],nome[i+1]) i++; } } } xmlhttp.send(null) } </script> oficinas.ajax.php <?php header( 'Cache-Control: no-cache' ); header('Content-Type: application/json; charset="utf-8"', true); $con = mysql_connect( 'localhost', 'root', '' ) ; mysql_select_db( 'teste', $con ); $idoficinas = $_GET['idoficinas'] ; $oficinas = array(); $sql_oficinas = "SELECT idprofessores, nome FROM professores WHERE oficinas_idoficinas=$idoficinas ORDER BY nome"; $res = mysql_query( $sql_oficinas ); while($arr = mysql_fetch_array($res)) { $nome = $arr['nome']; } echo $nome; Ele mostra no select...a msg de aguarde...ele pega o nome correto do professor só q não exibe no select... Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 19, 2010 Esqueci de te falar, esse script você coloca entre as tags <head></head> E outra, você mudou o nome de uma variavel e nao mudou as outras tbm. Pegue esse código abaixo que eu arrumei pa você. <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(tuf){ //limpa o select var c=document.getElementById("idprofessores") 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", "oficinas.ajax.php?idoficinas="+tuf,true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4){ //limpa o select var c=document.getElementById("idprofessores") while(c.options.length>0)c.options[0]=null //Transforma a lista de cidades JSON em Javascript var idprofessores= eval((xmlhttp.responseText)) //popula o select com a lista de cidades obtida for(var i=0;i<idprofessores.length;i++){ idprofessores[i]=unescape(idprofessores[i]) c.options[c.options.length]=new Option(idprofessores[i],idprofessores[i+1]) i++; } } } xmlhttp.send(null) } </script> E no PHp pode tirar essa linha: header('Content-Type: application/json; charset="utf-8"', true); Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 19, 2010 msm jeito...ele exibe no echo $nome; o nome do professor mais não no select.....quero saber como faço para ver oq ele esta vindo em "idprofessores" q esta no script..... Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 19, 2010 Ele dá esse erro aí em qual linha ? Erro: missing ; before statement Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Fevereiro 19, 2010 Linha 60 que é essa: var c=document.getElementById("idprofessores") Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 19, 2010 Posso ver seu arquivo inteiro ? Compartilhar este post Link para o post Compartilhar em outros sites