Ir para conteúdo

POWERED BY:

Arquivado

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

Chirlison

Preencher combobox e cadastrar valor de select no BD

Recommended Posts

Boa tarde!

 

Estou com problemas para cadastrar os registros no banco depois de selecioná-los no combobox que eh preenchido via AJAx...

 

Nao cadastra nada no select que tem name="grupo" (form_embaixador.php)

 

Tb nao cadastra nada no select que tem name="embaixada" (mostra_combo.php)

 

o select que tem name="conselheiro" cadastra corretamente

 

form_embaixador.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
</head>
<body>
<div id="container">

  <h1>Painel de controle</h1>
  
    <div class="simpleTabsContent">
    <form action="cadastrar_embaixador.php" method="post" enctype="multipart/form-data">
    
    <p>
                
    Igreja <select name="grupo" onchange="javascript:mudar(this.value);">
        <option>Selecione uma Igreja</option>
          <?
          include "../config/config.php";
          $sql = "SELECT id, nome FROM igrejas";
          $resultado = mysql_query($sql) or die ("Problema na Consulta");
              while($linha = mysql_fetch_array($resultado))
	          {
              ?>
      <option value="<?=$linha['nome'] ?>">
        <?=$linha['nome'] ?>
        </option>
        <?
	      }
           ?>
            </select>
                  </p>
    
    
   <p>
    <div id="mostraCombo">
        
      Embaixada <select name="embaixada">
          <option>Nome da Embaixada</option>
             </select>
                 </div>
                     </p>
                                                      
                                                      
           
    <p>
                Nome 
       <input type="text" name="nome" size="60" />
           </p>
           
                 
   
    
      <p><br /></p>
      <p><input type="submit" value=">> cadastrar" class="botao"/></p>
    </form>
    </div>
    
</div>

</body>
</html>

 

mostra_combo.php


Embaixada/Responsável <select name="embaixada">
    <?php
      include "../config/config.php";
     
   $sql = "SELECT * FROM igrejas WHERE nome = '".$_GET['grupo']."'";
   $resultado = mysql_query($sql) or die ("Erro na consulta do banco");
   while($linha = mysql_fetch_array($resultado))
	   {
?>	   
		  <option><?=$linha['nome_embaixada'] ?></option>
          
     
<?
	   }
?>
</select>



<select name="conselheiro">
 
<?php
   $sql = "SELECT nome FROM conselheiros WHERE nome_igreja = '".$_GET['grupo']."' AND responsavel='sim' ";
   $resultado = mysql_query($sql) or die ("Erro na consulta do banco");
   while($linha = mysql_fetch_array($resultado))
	   {
?>	   

		  <option><?=$linha['nome'] ?></option>
     
<?
	   }
?>
</select>  

cadastrar_embaixador.php

 

<?php 
include "../config/config.php";

$embaixada = $_POST['embaixada'];
$igreja = $_POST['grupo'];
$associacao = $_POST['associacao'];
$convencao = $_POST['convencao'];
$conselheiro = $_POST['conselheiro'];
$nome = $_POST['nome'];

mysql_query("INSERT INTO embaixador 
(embaixada, igreja, associacao, convencao, conselheiro, nome) 
values 
('$embaixada','$igreja','$associacao','$convencao','$conselheiro','$nome')")
or die("ERRO  ENCONTRADO: '.mysql_error()");
?>

 

arquivo_ajax.js

 

//CRIA A VARIÁVEL RETORNO
var retorno;
function CarregaArquivo(url,valor)
{
    retorno = null;
	//CRIA O OBJETO HttpRequest PARA O RESPECTIVO NAVEGADOR
	//Mozilla Fire Fox / Safari ...
	//
    if (window.XMLHttpRequest) {
        retorno = new XMLHttpRequest();
		//SETA A FUNÇÃO QUE SERÁ CHAMADA QUANDO O AJAX DER UM RETORNO
        retorno.onreadystatechange = processReqChange;
		 //ABRE A REQUISIÇÃO AJAX, PASSANDO O MÉTODO DE ACESSO, URL E O PARÂMETRO
        retorno.open("GET", url+'?grupo='+valor, true);
		//INICIA O TRANSPORTA DOS OBJETOS NA REQUISIÇÃO
        retorno.send(null);
    } else if (window.ActiveXObject) {
		//
		//IE
		//
        retorno = new ActiveXObject("Microsoft.XMLHTTP");
        if (retorno) {
			//SETA A FUNÇÃO QUE SERÁ CHAMADA QUANDO O AJAX DER  UM RETORNO
            retorno.onreadystatechange = processReqChange;
		    //ABRE A REQUISIÇÃO AJAX, PASSANDO O MÉTODO DE ACESSO, URL E O PARÂMETRO
            retorno.open("GET", url+'?grupo='+valor, true);
			//INICIA O TRANSPORTA DOS OBJETOS NA REQUISIÇÃO
            retorno.send();
        }
    }
}
//FUNÇÃO QUE TRATA O RETORNO DO AJAX
function processReqChange()
{
	//CASO O STATUS DO AJAX SEJA OK, CHAMA A FUNÇÃO mudar()
	//A LISTA COMPLETA DOS VALORES readyState É A SEGUINTE:
	//0 (uninitialized) 
	//1 (a carregar) 
	//2 (carregado) 
	//3 (interactivo) 
	//4 (completo) 
    if (retorno.readyState == 4)
	{
		if(retorno.status == 200) 
			{
				//PROCURA PELA DIV MOSTRACOMBO E INSERE O OBJETO
				document.getElementById('mostraCombo').innerHTML = retorno.responseText;
				
					
			} 
				else 
				{
					//MOSTRA UM ALERTA AO OBTER UM RETORNO DE OK.
					alert("Houve um problema ao obter os dados:\n" + retorno.statusText);
				}
   }
}

//FUNÇÃO MUDAR, QUE CHAMA AS INFORMAÇÕES PASSADAS NO PARÂMETRO E CARREGA O ARQUIVO EXTERNO
function mudar(valor)
{
	//CARREGA O ARQUIVO EXTERNO DO AJAX
    CarregaArquivo("mostra_combo.php",valor);
	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu problema parece ser php e não js.

 

faça assim, para debugar:

$sql ="INSERT INTO embaixador 
     (embaixada, igreja, associacao, convencao, conselheiro, nome) 
     values 
     ('$embaixada','$igreja','$associacao','$convencao','$conselheiro','$nome')";

echo $sql;
mysql_query( $sql )or die("ERRO  ENCONTRADO: '.mysql_error()");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com o mesmo problema, você conseguiu resolver?

 

Posta pra nós.... rs

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.