Sou novato em PHP, estou com problemas em passar o valor selecionado em um select para uma variável php que usarei em uma nova consulta sql.
Tenho o primeiro select :
<selectname="escola"size="1"id="escola"onchange="getDados();"disabled="disabled"><optionvalue="--"> selecione</option><?php
include "conecta_mysql.php";
$sql ="SELECT * FROM `nomeescola` ORDER BY `nome` DESC ";
$result = mysqli_query($conexao, $sql)ordie("falha na instrução sql");if(mysqli_num_rows($result)){while($dados=mysqli_fetch_array($result)){
echo "<option value='".$dados['nome']."'>".$dados['nome']."</option>";}}else
echo "<option value='none'>Nenhum resultado encontrado!</option>";
mysqli_close($conexao);?></select>
Quando o usuário escolher um valor desse campo select, preciso atualizar um segundo select com relação ao que foi escolhido pelo usuário no primeiro sem dar refresh.
Tenho esse arquivo ajax.js
/**
* Função para criar um objeto XMLHTTPRequest
*/functionCriaRequest(){try{
request =newXMLHttpRequest();}catch(IEAtual){try{
request =newActiveXObject("Msxml2.XMLHTTP");}catch(IEAntigo){try{
request =newActiveXObject("Microsoft.XMLHTTP");}catch(falha){
request =false;}}}if(!request)
alert("Seu Navegador não suporta Ajax!");elsereturn request;}function getDados(){// Declaração de Variáveisvar teste = document.getElementById("escola").value;var xmlreq =CriaRequest();// Exibi a imagem de progresso//result.innerHTML = '<img src="Progresso1.gif"/>';// Iniciar uma requisição
xmlreq.open("GET","teste.php?escola="+ teste,true);// Atribui uma função para ser executada sempre que houver uma mudança de ado
xmlreq.onreadystatechange =function(){// Verifica se foi concluído com sucesso e a conexão fechada (readyState=4)if(xmlreq.readyState ==4){// Verifica se o arquivo foi encontrado com sucessoif(xmlreq.status ==200){
result.innerHTML = xmlreq.responseText;}else{
result.innerHTML ="Erro: "+ xmlreq.statusText;}}};
xmlreq.send(null);}
e então no segundo select tenho o seguinte código :
<label> Quantidade de turmas: </label><selectname="quantidade"size="1"id="quantidade"disabled="disabled"><optionvalue="--"> selecione</option><?php
include "conecta_mysql.php";
$teste = $_GET["escola"];if(empty($teste)){
echo "<script>window.alert('VARIÁVEL VAZIA!')</script>";}else{
$sql ="SELECT * FROM `turma` WHERE escola = $teste";}
sleep(1);
$result = mysqli_query($conexao, $sql)ordie("falha na instrução sql");if(mysqli_num_rows($result)){while($dados=mysqli_fetch_array($result)){
echo "<option value='".$dados['nome']."'>".$dados['nome']."</option>";
$count++;}}else
echo "<option value='none'>Nenhum resultado encontrado!</option>";
mysqli_close($conexao);?></select>
O que está acontecendo é que a variável $teste está sempre vazia, não estou conseguindo pegar o valor que foi selecionado no primeiro select. Alguém sabe o que está errado?
Pergunta
Eduardo_santiago
Boa noite,
Sou novato em PHP, estou com problemas em passar o valor selecionado em um select para uma variável php que usarei em uma nova consulta sql.
Tenho o primeiro select :
Quando o usuário escolher um valor desse campo select, preciso atualizar um segundo select com relação ao que foi escolhido pelo usuário no primeiro sem dar refresh.
Tenho esse arquivo ajax.js
e então no segundo select tenho o seguinte código :
O que está acontecendo é que a variável $teste está sempre vazia, não estou conseguindo pegar o valor que foi selecionado no primeiro select. Alguém sabe o que está errado?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.