Ir para conteúdo
Fórum Script Brasil
  • 0

Combobox PHP e AJAX, problema com ID


KornsFlakes

Pergunta

Seguinte galera...

Fui longe a procura deste codigo que me serve bem... porem me deparei com uma nova dificuldade...

na segunda combobox eu n tenho como pegar o ID da opção escolhida... como faço?

Atualiza.PHP

<?php
    $conexao = mysql_connect('localhost', 'root', '');
    if ($conexao)
    {
        if (!mysql_select_db('mamuth', $conexao))
        {
            echo ('<div id="erro">Não foi possível selecionar o Banco de Dados!</div>');
        }
    }
    else
    {
        echo('<div id="erro">Não foi possível conectar ao Banco de Dados!</div>');
    }

    // busca dados do combo 2
    $sql =  "
            SELECT k.id,k.nome 
            FROM assunto l,assunto_comp k
            WHERE l.id = '".$_GET['categoria']."' 
                AND l.id = k.id_assunto
            ";
    $resultado = mysql_query($sql) 
        or die ("Problema na Consulta");
        
    echo "<select name=\"assunto_comp\" id=\"assunto_comp\"> ";
    echo "<option selected>-- Selecione --</option>";
    while ($linha = mysql_fetch_array($resultado)) {
        echo "<option value=\"" . $linha['id'] . "\">" . $linha['nome'] . "</option>";
    }
    mysql_close($conexao); 
    echo "</select>";
?>
JS.JS
function loadXMLDoc(url,valor)
{
    req = null;
    alert( valor);
    // Procura por um objeto nativo (Mozilla/Safari)
    if (window.XMLHttpRequest) 
    {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url+'?categoria='+valor, true);
        req.send(null);
        // Procura por uma versao ActiveX (IE)
    } 
    else if (window.ActiveXObject) 
    {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url+'?categoria='+valor, true);
            req.send();
        }
    }
}

function processReqChange()
{
    // apenas quando o estado for "completado"
    if (req.readyState == 4) {
        // apenas se o servidor retornar "OK"
        if (req.status == 200) {
            // procura pela div id="atualiza" e insere o conteudo
            // retornado nela, como texto HTML
            document.getElementById('atualiza').innerHTML = req.responseText;
        } 
        else 
        {
            alert("Houve um problema ao obter os dados:\n" + req.statusText);
        }
    }
}

function Atualiza(valor)
{
    loadXMLDoc("atualiza.php",valor);
}
Index.php
<HTML>
<HEAD>
&lt;script language="javascript" type="text/javascript" src="js.js"></script>
</HEAD>

<BODY>
<form>

    <?php
    $conexao = mysql_connect('localhost', 'root', '');
    if ($conexao)
    {
        if (!mysql_select_db('mamuth', $conexao))
        {
            echo ('<div id="erro">Não foi possível selecionar o Banco de Dados!</div>');
        }
    }
    else
    {
        echo('<div id="erro">Não foi possível conectar ao Banco de Dados!</div>');
    }
    
    $sql = "SELECT id, nome 
            FROM assunto";
    $resultado = mysql_query($sql, $conexao) 
        or die("Problema na Consulta");
    echo "<select name=\"assunto\" id=\"assunto\" onChange=\"java script:Atualiza(this.value);\"> ";
      echo "<option selected>-- Selecione --</option>";
    while ($linha = mysql_fetch_array($resultado)) 
    {
        echo "<option value=\"" . $linha['id'] . "\">" . $linha['nome'] . "</option>";
    }
    mysql_close($conexao); 
    ?>
    </select>
</form>

<div id="atualiza">
    <? 
        echo "<select name=\"assunto_comp\" id=\"assunto_comp\"> ";
        echo "<option selected>-- Selecione --</option>";
    ?>
</div>

</BODY>
</HTML>

Galera, sou novo nesse forum, por isso des de já agradeço.

Link para o comentário
Compartilhar em outros sites

1 resposta 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...