sedex 0 Denunciar post Postado Fevereiro 12, 2008 Pessoal já tentei de várias maneiras fazer esse envio de duas variaves através de um <select> Já tentei usar FUNÇÃO explode e depois pegar cada uma das informações tipo ID e CATEGORIA Mas estou usando ajax, e ele não aceita fazer isso! Eu preciso passar as seguintes variaveis: id_categoria = está chegando perfeitamente (É o nome do primeiro select, onde exibe as categorias) categoria = Não consigo fazer esse campo ir para o banco de dados. id_subcategoria = Não consigo fazer esse campo ir para o banco de dados. subcategoria = está chegando perfeitamente (É o nome do segundo select, onde exibe as subcategorias) Gostaria de passar os dois dados que estão faltando! Alguém poderia me ajudar? Estou usando os seguintes arquivos form.php Aqui aparece as 2 combobox categoria e subcategoria <?php $con = mysql_connect("localhost", "root", "root"); mysql_select_db("rally"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="javascript"> function list_dados( valor ) { http.open("GET", "result.php?id=" + valor, true); http.onreadystatechange = handleHttpResponse; http.send(null); } function handleHttpResponse() { campo_select = document.forms[0].subcategoria; if (http.readyState == 4) { campo_select.options.length = 0; results = http.responseText.split(","); for( i = 0; i < results.length; i++ ) { string = results.split( "|" ); campo_select.options = new Option( string[0], string[1] ); } } } function getHTTPObject() { var req; try { if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.readyState == null) { req.readyState = 1; req.addEventListener("load", function () { req.readyState = 4; if (typeof req.onReadyStateChange == "function") req.onReadyStateChange(); }, false); } return req; } if (window.ActiveXObject) { var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; for (var i = 0; i < prefixes.length; i++) { try { req = new ActiveXObject(prefixes + ".XmlHttp"); return req; } catch (ex) {}; } } } catch (ex) {} alert("XmlHttp Objects not supported by client browser"); } var http = getHTTPObject(); </script> </head> <body> <select name="id_categoria" onChange="list_dados( this.value )"> <?php $consulta = mysql_query("SELECT * FROM categcompeticao ORDER BY categoria DESC"); while( $row = mysql_fetch_assoc($consulta) ) { echo "<option value=\"{$row['id_categoria']}\">{$row['categoria']}</option>\n"; } ?> </select> </p> <p><select name="subcategoria"></select> </p> </body> </html> result.php Esse é o arquivo que processa e volta os dados para a combo subcategoria <?php header("Content-Type: text/html; charset=iso-8859-1",true) ?> <?php $con = mysql_connect("localhost", "root", "root"); mysql_select_db("rally"); $categoria = addslashes(trim($_GET["id"])); $consulta = mysql_query("SELECT * FROM subcategcompeticao WHERE id_categoria = '$categoria' ORDER BY subcategoria ASC" ); while( $row = mysql_fetch_assoc($consulta) ) { echo $row["subcategoria"] . "|" . $row["subcategoria"] . ","; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
JackDenio 0 Denunciar post Postado Fevereiro 12, 2008 Velho antes de você inserir os dados no bd, faz uma query selecionando os dados usando "where id=$_GET" ... depois faz a inserção ! Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Fevereiro 12, 2008 Eu já estou fazendo isso, eu pego o $_GET["id"] e comparo ele com o id_categoria no banco de dados. Até ai está funcionando perfeitamente, a questão é que eu preciso enviar não apenas o id_categoria, mas tambem o nome da categoria. E na subcategoria, eu preciso enviar tambem o id_subcategoria e o nome da subcategoria, só que apenas os registros onde os id_categorias são iguais. E se eu tentar passar o valor com um input type="hidden", ele tambem não aceita, pois o resultado dessa página vai para dentro de um select. $categoria = addslashes(trim($_GET["id"])); $consulta = mysql_query("SELECT * FROM subcategcompeticao WHERE id_categoria = '$categoria' ORDER BY subcategoria ASC" ); while( $row = mysql_fetch_assoc($consulta) ) { echo $row["subcategoria"] . "|" . $row["subcategoria"] . ","; } Compartilhar este post Link para o post Compartilhar em outros sites
JackDenio 0 Denunciar post Postado Fevereiro 12, 2008 Acho que não to entendendo o que você quer fazer .. na página que você recebe os dados do select tem outro select ?? Porque se não tem faça como te disse ..ex: na pág que você recebe antes de inserir faça uma query buscando os dados de acordo com o id_categoria, depois os defina em um fetch_array, e logo os insira ....faça o mesmo com com a subcategoria ..mais detalhe ao invés de enviar o nome da subcategoria no value ..envie tbm o id .. Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Fevereiro 12, 2008 O que eu quero fazer seria semelhante aqueles scripts de CIDADE - ESTADO. O que eu quero fazer é o seguinte... voce escolhe uma categoria [Fiat, Ford, Honda], quando voce selecionar por exemplo FIAT, vai aparecer no combo da subcategoria [uNO, PALIO,STRADA]. E é justamente isso que eu to tentando, estou tentando passar o ID e CATEGORIA também. Mas não aceita enviar. Compartilhar este post Link para o post Compartilhar em outros sites
leonardonobre 0 Denunciar post Postado Fevereiro 12, 2008 Olá Sedex e amigos, tente verificar aqui: http://elcio.com.br/ajax/combos/ Logo, você poderá adaptar em sua aplicação. Abraços, Léo Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Fevereiro 12, 2008 Eu ja tinha olhado esse exemplo, mas não consegui fazer o ajax.php! Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Fevereiro 12, 2008 Olá Sedex e amigos, tente verificar aqui: http://elcio.com.br/ajax/combos/ Logo, você poderá adaptar em sua aplicação. Abraços, Léo legal esses exemplos mas ele nao explica como fez...fiquei interessado no 5 Chamar essa função no onchange do primeiro select, e pronto. como faz esse tipo? Compartilhar este post Link para o post Compartilhar em outros sites