Luther 0 Denunciar post Postado Setembro 12, 2006 Boa noite galera... Eu vou tentar explicar o que eu quero pra ver se alguem sabe fazer... :P Eu tenho um Banco com os seguintes Campos: ID DEPARTAMENTO DESCRIÇÃO OS 1 SALA DO MESTRE ADM 6.9999 Na página com o FORM eu tenho um MENU SELECT com o seguinte Codigo: <select name="dpto_origem" class="box"> <option value="">SELECIONE AQUI</option> <optgroup label="<?php echo $row_objLIB01['departamento']; ?>"></optgroup> <?phpdo { ?> <option value="<?php echo $row_objLIB01['descricao']?>"><?php echo $row_objLIB01['descricao']?></option> <?php} while ($row_objLIB01 = mysql_fetch_assoc($objLIB01)); $rows = mysql_num_rows($objLIB01); if($rows > 0) { mysql_data_seek($objLIB01, 0); $row_objLIB01 = mysql_fetch_assoc($objLIB01); }?> <optgroup label="<?php echo $row_objLIB02['departamento']; ?>"></optgroup> <?phpdo { ?> <option value="<?php echo $row_objLIB02['descricao']?>"><?php echo $row_objLIB02['descricao']?></option> <?php} while ($row_objLIB02 = mysql_fetch_assoc($objLIB02)); $rows = mysql_num_rows($objLIB02); if($rows > 0) { mysql_data_seek($objLIB02, 0); $row_objLIB02 = mysql_fetch_assoc($objLIB02); }?> </select> Da pra entender que ele monta o Menu de acordo com as informações que existe no Banco né? beleza, logo abaixo eu tenho um TEXT AREA na qual quero que seja preenchido automaticamente. Por exemplo, Eu selecionei no Menu o dado do Banco "SALA DO MESTRE", então no "Text Area" eu quero que ele auto selecione o OS "6.9999", que é um dado do Banco do mesmo registro do "SALA DO MESTRE". Deu pra entender? Alguem poderia ajudar ^_^ ;) Compartilhar este post Link para o post Compartilhar em outros sites
Luther 0 Denunciar post Postado Setembro 13, 2006 Você quer que, ao selecionar no select, apareça no textarea ou você pretende selecionar, fazer um submit do form e depois do submit preencher o textarea?Exatamente A primeira opção... Selecionar e ao Selecionar apareça no textarea. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Setembro 13, 2006 Olá, pelo que vi, acho que é isso que você quer, se for da uma resposta. Fiz o codigo como teste só, dai você da uma mudada nele e coloca no seu script, bem simples <select size="1" name="select_teste" onchange="document.getElementById('textarea_teste').innerHTML = this.value"> <option value="Teste 1">Teste 1</option> <option value="Teste 2">Teste 2</option> <option value="Teste 3">Teste 3</option> <option value="Teste 4">Teste 4</option></select><BR><BR><textarea rows="2" cols="20" id="textarea_teste"></textarea>as chaves desse script esta emonchange="document.getElementById('textarea_teste').innerHTML = this.value"> e em id="textarea_teste"> Compartilhar este post Link para o post Compartilhar em outros sites
Luther 0 Denunciar post Postado Setembro 14, 2006 Olá, pelo que vi, acho que é isso que você quer, se for da uma resposta. Fiz o codigo como teste só, dai você da uma mudada nele e coloca no seu script, bem simples <select size="1" name="select_teste" onchange="document.getElementById('textarea_teste').innerHTML = this.value"> <option value="Teste 1">Teste 1</option> <option value="Teste 2">Teste 2</option> <option value="Teste 3">Teste 3</option> <option value="Teste 4">Teste 4</option></select><BR><BR><textarea rows="2" cols="20" id="textarea_teste"></textarea>as chaves desse script esta em<select size="1" name="select_teste" onchange="document.getElementById('textarea_teste').innerHTML = this.value"> e em <textarea rows="2" cols="20" id="textarea_teste"></textarea> Eu vou testar ele agora... mas pelo que eu entendi lendo ele não vai dar certo o que eu quero. Pois eu quero que ele puxe a informação do Banco e coloque no TextArea um outro campo baseado no ID de acordo com o que foi selecionado do Banco. EDIT: Realmente não deu certo... ScornInPC brigadão pela ajuda, mas o codigo é bastante legal, tanto que guardei aqui pra mim... ^^, mas preciso que esses dados sejam puxados do Banco... Tipo os Selects já estão sendo puxados do Banco sem problemas, agora quero que o TextArea seja preenchido de acordo com o que for selecionado no SELECT, mas também puxando essa informação do Banco, como explicado no topico... Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Setembro 14, 2006 a ta, entendi, ja mando pra você já =) Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Setembro 14, 2006 vamos la. aqui fica a pagina teste teste.php <script>function OpenAjax(){ var XMLHttp; try { XMLHttp=new XMLHttpRequest(); } catch(ee) { try { XMLHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { XMLHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { XMLHttp=false; } } } return XMLHttp;}function GetInfo(value, textarea){ var XMLHttp = new OpenAjax(); Area = document.getElementById(textarea); var pagina = "./getinfo.php?value=" + value; XMLHttp.open('GET', pagina, true); XMLHttp.setRequestHeader("Cache-Control", "no-cache"); XMLHttp.setRequestHeader("Pragma", "no-cache"); XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState == 4) { if (XMLHttp.status == 200) { var resultado = XMLHttp.responseText; resultado = resultado.replace(/\+/g," "); resultado = unescape(resultado); Area.innerHTML = resultado; } else { Area.innerHTML = "Erro ao carregar."; } } } XMLHttp.send(null);}</script><select size="1" name="select_teste" onchange="GetInfo(this.value, 'textarea_teste')"> <option value="valor1">Teste 1</option> <option value="valor2">Teste 2</option> <option value="valor3">Teste 3</option> <option value="valor4">Teste 4</option></select><BR><BR><textarea rows="2" cols="20" id="textarea_teste"></textarea> aqui fica a pagina que pega as informações no banco de dados getinfo.php <?php $value = $_GET['value']; switch($value) { case "valor1": echo "Teste 1"; break; case "valor2": echo "Teste 2"; break; case "valor3": echo "Teste 3"; break; case "valor4": echo "Teste 4"; break; default: echo "Valor não encontrado"; } /* * AQUI NAUM TESTEI COM BANCO DE DADOS, MAIS VOU COLOCAR +/- COMO FICARIA OK?? * * include "db.php"; * * $query = "SELECT * FROM meu_banco WHERE DEPARTAMENTO = $value"; * $res = mysql_query($query); * $resp = mysql_fetch_array($res); * echo $resp['OS']; * */ ?> repare que e naum coloquei com o banco, fiz o teste com um switch mesmo, mais ai nessa pagina é só colocar a busca no banco de dados, e imprimir na tela, ja era, tudo que for impresso nessa pagina aparecerá no textarea =) mais uma coisinha, o legal seria se você colocasse o value dos options, o ID do registro, e no getinfo.php buscasse pelo ID tb, ou entaum pra ficar mais correto ainda, fazer mais um banco só com os departamentos, e relacionar com o esse banco beleza, ve se é isso que você quer mesmo Compartilhar este post Link para o post Compartilhar em outros sites
Luther 0 Denunciar post Postado Setembro 16, 2006 :blink: Eu fiquei babando pensando que ia dar certo.... :D Desculpe o abuso e a demora da resposta, mas nao consegui testar antes... Entao deu erro aqui na parte que esta em negrito, como isso parece ser AJAX eu fiquei sem saber o que fazer: { if (XMLHttp.status == 200) { var resultado = XMLHttp.responseText; resultado = resultado.replace(/\+/g," "); resultado = unescape(resultado); Area.innerHTML = resultado; } Aaaaaaaaaaaaaaaahhh, que desesperooo... Agora eu dei uma lida no codigo que você postou, entendi um pouquinho, acho que vai dar certo, o unico problema é esse erro nessa linha que eu não consigo resolver... =\ Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Setembro 18, 2006 vixe, acabei de testar aqui, copiando o codigo do forum mesmo, e roda normal :S sei naum hem, naum parece ter erro ai naum.você testou no IE e no FF?? Compartilhar este post Link para o post Compartilhar em outros sites
Luther 0 Denunciar post Postado Setembro 18, 2006 Nos dois eu testei... no IE e no FF.Eu vou testar em outra maquina e ja digo... eu acho que to comendo bola em algum lugar entao... ^^ Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Setembro 19, 2006 tenta fazer o seguinte, na pagina teste, coloque as tags HTML | HEAD | SCRIPT | BODY Compartilhar este post Link para o post Compartilhar em outros sites
Luther 0 Denunciar post Postado Setembro 19, 2006 tenta fazer o seguinte, na pagina teste, coloque as tags HTML | HEAD | SCRIPT | BODYScornInPC,Entao cara, eu deixei a estrutura da pagina teste assim (Foi Ctrl+c e Ctrl+v no codigo so pra ver a funcionalidade):<HTML><HEAD></HEAD><script>//aquele que você passou</SCRIPT><BODY><SELECT></SELECT><textarea></textarea></BODY></HTML>Tentei outras estruturas também, como:<HTML><HEAD><script>//aquele que você passou</SCRIPT></HEAD><BODY><SELECT></SELECT><textarea></textarea></BODY></HTML>e:<HTML><HEAD></HEAD><BODY><script>//aquele que você passou</SCRIPT><SELECT></SELECT><textarea></textarea></BODY></HTML>No FF deu certo, mas se tiver codigos HTML depois do PHP ele imprime também no textarea.No IE num deu certo, http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Mano desculpa ta abusando da sua boa vontade... :P , mas eu acho que a gente vai chegar lá... eu vou tentar uma s coisicas aqui, se der certo eu posto o resultado.Se você consegui resolver vou ficar mui FELIZ, que nem quando a Argentina perdeu na copa :DCara, e tipo asim, ja aproveitando o topico e que você manja bem de Ajax, você sabe como fazer esse campo de texto que nem desse site http://www.netvibes.com/? Eu achei muito interessando, você clica no texto e ele vira um campo de texto, clica em qualquer lugar da pagina ele vira texto de novo... Oo Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Setembro 20, 2006 Ola amigo, da uma olhada nesse codigo aqui, é isso que você quer naum neh?? <html> <head> <script> var Texto = "Digite aqui o título de sua página"; function ChangeInput(id, txt, estado) { var Area = document.getElementById(id); if(estado == 0) { Area.innerHTML = "<input type=\"text\" value=\"" + Texto + "\" id=\"txt\" size=\"20\" onblur=\"ChangeInput('Area', 'txt', 1);\">"; } else { if(estado != 2) { var TxtArea = document.getElementById(txt); Texto = TxtArea.value; } if(Texto == "") Texto = "Digite aqui o título de sua página"; Area.innerHTML = "<span onclick=\"ChangeInput('Area', 'txt', 0);\">" + Texto + "</span>"; } } </script> </head> <body onload="ChangeInput('Area', 'txt', 2);"> <div id="Area"></div> </body></html> tenho que admitir que no IE naum ficou tao bom quando no FF, mais testa ai =) a respeito do outro codigo, vo da uma olhada no almoço, e te posto ele novamente Não Aguentei =) Aqui ta funcionando normalmente, tanto no IE quanto no FF, seria bom mais alguem do forum teste, dai saberemos se é o script ou sua maquina, sei la, pow, e tinha ficado tao joinha esse script =) teste.php <html> <head> <script> function OpenAjax(){ var XMLHttp; try { XMLHttp=new XMLHttpRequest(); } catch(ee) { try { XMLHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { XMLHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { XMLHttp=false; } } } return XMLHttp;}function GetInfo(value, textarea){ var XMLHttp = new OpenAjax(); Area = document.getElementById(textarea); var pagina = "./getinfo.php?value=" + value; XMLHttp.open('GET', pagina, true); XMLHttp.setRequestHeader("Cache-Control", "no-cache"); XMLHttp.setRequestHeader("Pragma", "no-cache"); XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState == 4) { if (XMLHttp.status == 200) { var resultado = XMLHttp.responseText; resultado = resultado.replace(/\+/g," "); resultado = unescape(resultado); Area.innerHTML = resultado; } else { Area.innerHTML = "Erro ao carregar."; } } } XMLHttp.send(null);} </script> </head> <body> <select size="1" name="select_teste" onchange="GetInfo(this.value, 'textarea_teste')"> <option value="0"></option> <option value="valor1">Teste 1</option> <option value="valor2">Teste 2</option> <option value="valor3">Teste 3</option> <option value="valor4">Teste 4</option> </select> <BR> <BR> <textarea rows="2" cols="20" id="textarea_teste"></textarea> </body></html> getinfo.php <?php $value = $_GET['value']; switch($value) { case "valor1": echo "Teste 1"; break; case "valor2": echo "Teste 2"; break; case "valor3": echo "Teste 3"; break; case "valor4": echo "Teste 4"; break; case "0": echo "Selecione um valor no campo acima"; break; default: echo "Valor não encontrado"; } /* * AQUI NAUM TESTEI COM BANCO DE DADOS, MAIS VOU COLOCAR +/- COMO FICARIA OK?? * * include "db.php"; * * $query = "SELECT * FROM meu_banco WHERE DEPARTAMENTO = $value"; * $res = mysql_query($query); * $resp = mysql_fetch_array($res); * echo $resp['OS']; * */?> Compartilhar este post Link para o post Compartilhar em outros sites
Luther 0 Denunciar post Postado Setembro 25, 2006 ScornInPC,Maninho, consegui fazer funcionar o codigo no IE e no FF. Bom eu estava comendo bola mesmo.Só não consegui fazer funcionar puxando do Banco... ^^O Valor que seleciono no Select ele manda para o Getinfo que pesquisa no Banco a os daquele valor que selecionei (Pelo menos foi isso que entendi lendo o codigo)... Mas ele nao ta fazendo isso.Retorna esse erro:Unknown column 'RECEPCAO' in 'where clause'Caso eu selecione algum dados Como "SALA DIOGO". Retorna esse erro:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DIOGO' at line 1Tem ideia do que pode ser? Pelo que eu vi a consulta esta certinha e a sintaxe do todo resto do codigo PHP também....A Consulta ta assim: SELECT * FROM objdepartamentos_lib WHERE departamento = $value Compartilhar este post Link para o post Compartilhar em outros sites
Luther 0 Denunciar post Postado Setembro 26, 2006 Caso resolvido...Resolvi assim no get Info para conseguir puxar do Banco... $getvalue = "-1";if (isset($_GET['value'])) { $getvalue = (get_magic_quotes_gpc()) ? $_GET['value'] : addslashes($_GET['value']);}mysql_select_db($database_conn, $conn);$query_movBusca = sprintf("SELECT * FROM objdepartamentos_lib WHERE objdepartamentos_lib.descricao LIKE '%%%%%s%%%%'", $getvalue);$movBusca = mysql_query($query_movBusca, $conn) or die(mysql_error());$row_movBusca = mysql_fetch_assoc($movBusca);echo $row_movBusca['os'];ScornInPC,Muito obrigado pela ajuda... você é o cara, estou muito grato. Vlw mesmo, nem sei como te agradecer. Compartilhar este post Link para o post Compartilhar em outros sites
Lilica Desenvolvimento 0 Denunciar post Postado Setembro 26, 2006 Oi...Desculpa se intrometer no assunto que parece ja estar resolvido...Mas com que eu faço esse mesmo esquema, mas so que para caixas de texto do tipo <input>? Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Setembro 27, 2006 use o Area.value detro daquele if no lugar de Area.innerHTML Compartilhar este post Link para o post Compartilhar em outros sites