Ir para conteúdo
Fórum Script Brasil

rfumaca

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre rfumaca

rfumaca's Achievements

0

Reputação

  1. rfumaca

    Duvida No Form::select

    Consegui em um artigo publicado por por Vanessa Schissato - Manipulando ComboBox com XMLHttpRequest e funcionou muito bem.....sem refresh na página. __________________________________________________________________________ Primeiro, o script javascript (script.js): var req; function loadXMLDoc(url,valor) { req = null; // 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); } __________________________________________________________________________ Banco de dados: Banco de dados MySQL: CREATE TABLE categoria ( id_categoria int(6) not null auto_increment, nome_categoria varchar(30), PRIMARY KEY (id_categoria) ); CREATE TABLE subcategoria ( id_subcategoria int(6) not null auto_increment, id_categoria int(6), nome_subcategoria varchar(30), PRIMARY KEY (id_subcategoria) ); __________________________________________________________________________ Popule as tabelas para teste se quiser: INSERT INTO categoria (nome_categoria) VALUES ('Matematica'); INSERT INTO categoria (nome_categoria) VALUES ('Portugues'); INSERT INTO categoria (nome_categoria) VALUES ('Quimica'); INSERT INTO subcategoria (id_categoria,nome_subcategoria) VALUES (1,'Algebra'); INSERT INTO subcategoria (id_categoria,nome_subcategoria) VALUES (1,'Geometria Espacial'); INSERT INTO subcategoria (id_categoria,nome_subcategoria) VALUES (1,'Trigonometria'); INSERT INTO subcategoria (id_categoria,nome_subcategoria) VALUES (2,'Gramatica'); _________________________________________________________________________ index.php (script com o select categorias, fixo, sem atualizações) <HTML> <HEAD> <script language="javascript" type="text/javascript" src="script.js"></script> </HEAD> <BODY OnLoad="java script:Atualiza();"> <form> <select name="categoria" onChange="java script:Atualiza(this.value);"> <option>---Escolha uma opção---</option>"; <?php $conexao = mysql_connect('xmlhttprequest','',''); if (!$conexao) { die("Configuracao de Banco de Dados Errada!"); } // monta dados do combo 1 $sql = "SELECT DISTINCT nome_categoria,id_categoria FROM categoria"; $resultado = mysql_query($sql, $conexao) or die("Problema na Consulta"); while ($linha = mysql_fetch_array($resultado)) { echo "<option value=\"" . $linha['id_categoria'] . "\">" . $linha['nome_categoria'] . "</option>"; } ?> </select> </form> <div id=atualiza"></div> </BODY> </HTML> INSERT INTO subcategoria (id_categoria,nome_subcategoria) VALUES (2,'Oracao Subordinada'); INSERT INTO subcategoria (id_categoria,nome_subcategoria) VALUES (2,'Redacao'); INSERT INTO subcategoria (id_categoria,nome_subcategoria) VALUES (3,'Estequiometria'); __________________________________________________________________________ atualiza.php (script com a parte dinâmica da atualização do combo subcategorias) <?php echo "<select name=\"subcategoria\">"; echo "<option>---Escolha uma opção---</option>"; $conexao = mysql_connect('xmlhttprequest','',''); if (!$conexao) { die("Configuracao de Banco de Dados Errada!"); } // busca dados do combo 2 $sql = "SELECT DISTINCT subcategoria.nome_subcategoria FROM subcategoria INNER JOIN categoria ON categoria.id_categoria = subcategoria.id_categoria WHERE subcategoria.id_categoria = '".$_GET['categoria]."'"; $resultado = mysql_query($sql) or die ("Problema na Consulta"); while ($linha = mysql_fetch_array($resultado)) { echo "<option>".$linha['nome_subcategoria']."</option>"; } echo "</select>"; ?> ________________________________________________________________________________________
×
×
  • Criar Novo...