daniel_ffp Posted December 12, 2012 Report Share Posted December 12, 2012 Boas, Eu precisava muito da vossa ajuda para tentar resolver este problema que tenho. Nunca progamei com javascript. Estou a criar uma especie de tradutor por associação (as palavras já estão guardadas na base de dados). O utilizador selecciona uma palavra na combobox e depois deverá aparecer a tradução guardada nessa palavra e mostrar. Isto deverá ocorrer sempre que a palvra mudar na combobox. Agradecia se me podessem ajudar. Link to comment Share on other sites More sharing options...
yoda Posted December 12, 2012 Report Share Posted December 12, 2012 Se nunca fizeste nada em javascript, a primeira coisa é procurar aprender. before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
jpaulino Posted December 12, 2012 Report Share Posted December 12, 2012 Começa por aqui: http://www.w3schools.com/js/tryit.asp?filename=tryjs_putdropdown Mas tens muitos exemplos na internet e vais precisar de aprender um pouco sobre javascript. Link to comment Share on other sites More sharing options...
lsoares Posted December 12, 2012 Report Share Posted December 12, 2012 --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
daniel_ffp Posted December 12, 2012 Author Report Share Posted December 12, 2012 jpaulino Vi o exemplo do link é aquilo que preciso mas falta ser com os dados da base de dados. Eu por php consigo por os dados na combobox mas depois precisava de saber como conseguiria fazer com que o javascript va a bd buscar a tradução. Link to comment Share on other sites More sharing options...
lsoares Posted December 12, 2012 Report Share Posted December 12, 2012 O Javascript não vai buscar nada à BD. É um linguagem client side. Corre no browser. PHP, Java e .NET correm no servidor - são server side. No teu caso terás de recorrer a Ajax... o cliente (browser) faz o pedido com a palavra que quer ver traduzida (on dropdown change") e o sevidor responde (potencialmente em JSON). O cliente pega no resultado e coloca-o no local devido. Usando jQuery a coisa fica mais fácil (o pedido Ajax, o parsing e a manipulação DOM). --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
daniel_ffp Posted December 12, 2012 Author Report Share Posted December 12, 2012 (edited) Eu estava a tentar utilizar este código <?php include('init.php'); ?> <!DOCTYPE html> <html> <head> <script> function palavra() { var mylist=document.getElementById("listaPalavra"); document.getElementById("favorite").value=mylist.options[mylist.selectedIndex].text; } </script> </head> <body> <form name="form1" method="post" action=""> <h1 align="center">Palavras:</h1> <p align="center"> <label for="listaPalavra"></label> <select name="Palavra" id="listaPalavra" onchange="palavra()"> <?php $sql = "SELECT * FROM palavra"; $execuar = mysql_query($sql) or die(mysql_error()); while ($reg = mysql_fetch_array($execuar)) { ?> <option><?php echo $reg['palavraPort']?></option> <?php } ?> </select> </p> <p>Your favorite browser is: <input type="text" id="favorite" size="20"></p> </form> </body> </html> Edited December 12, 2012 by apocsantos Link to comment Share on other sites More sharing options...
lsoares Posted December 12, 2012 Report Share Posted December 12, 2012 assim vais mandar o dicionário todo para o browser... isso poderá ser muiiiito pesado... --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
daniel_ffp Posted December 12, 2012 Author Report Share Posted December 12, 2012 (edited) mas fora esse pequeno/grande problema ele nao esta a aparecer no inputtextfield a palavra traduzida nem me aparece a palavra igual a que seleccionei Edited December 12, 2012 by daniel_ffp Link to comment Share on other sites More sharing options...
lsoares Posted December 12, 2012 Report Share Posted December 12, 2012 coloca isso no JSFiddle para eu analisar. mas mete dados de BD fictícios para não teres de fazer a query 🙂 --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
daniel_ffp Posted December 12, 2012 Author Report Share Posted December 12, 2012 Com valores estaticos ele funciona mas quando ponho com os dados vindo da base de dados ele nao funciona o meu problema esta ai Link to comment Share on other sites More sharing options...
lsoares Posted December 12, 2012 Report Share Posted December 12, 2012 então faz assim. coloca numa página nova o código abaixo faz view source cola aqui o resultado. <?php $sql = "SELECT * FROM palavra"; $execuar = mysql_query($sql) or die(mysql_error()); while ($reg = mysql_fetch_array($execuar)) { ?> <option><?php echo $reg['palavraPort']?></option> <?php } ?> já agora... não tens nenhum erro de JS na consola? --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted December 12, 2012 Report Share Posted December 12, 2012 O Javascript não vai buscar nada à BD. É um linguagem client side. Corre no browser. sim e não java é uma linguagem client-side, mas bem à pouco tempo passou ser possível fazer este tipo de brincadeiras: https://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html 2 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
lsoares Posted December 13, 2012 Report Share Posted December 13, 2012 Naquele contexto e de acordo que a afirmação que ele fez (se a leres bem) imperava eu dizer isso. Por vezes, em nome da simplificação e da aprendizagem, há que sacrificar o purismo. Mas sim, já vi que estás a par 😉 De qualquer forma... o teu exemplo nem foi o melhor porque isso é uma BD sim mas ainda sim client side. Um exemplo melhor seria o uso do Javascript em biliotecas server side como no CouchDB. Mas é bem visto anyway 😉 PS. Suponho que queiras ter dito Javascript e não Java 1 Report --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted December 13, 2012 Report Share Posted December 13, 2012 Mas sim, já vi que estás a par 😉 De qualquer forma... o teu exemplo nem foi o melhor porque isso é uma BD sim mas ainda sim client side. Um exemplo melhor seria o uso do Javascript em biliotecas server side como no CouchDB. era um contra exemplo da afirmação, uma BD client-side manipulada com javascript não era solução ao pedido no post PS. Suponho que queiras ter dito Javascript e não Java sim, é o que dá responder em várias secções do fórum .... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
lsoares Posted December 13, 2012 Report Share Posted December 13, 2012 ok 🙂 vou explorar isso que conhecia pouco. thx --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
daniel_ffp Posted December 13, 2012 Author Report Share Posted December 13, 2012 então faz assim. coloca numa página nova o código abaixo faz view source cola aqui o resultado. <?php $sql = "SELECT * FROM palavra"; $execuar = mysql_query($sql) or die(mysql_error()); while ($reg = mysql_fetch_array($execuar)) { ?> <option><?php echo $reg['palavraPort']?></option> <?php } ?> já agora... não tens nenhum erro de JS na consola? Depois de colocar o código num ficheiro não me aparece nada na página. Isto com o código que pustas-te. Com o meu código ele motra a combobox com os valores da bd so nao consigo fazer uma function javascript que quando ele muda-se me mostra-se a palavar traduzida que se encontra na base de dados Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted December 13, 2012 Report Share Posted December 13, 2012 Com o meu código ele motra a combobox com os valores da bd so nao consigo fazer uma function javascript que quando ele muda-se me mostra-se a palavar traduzida que se encontra na base de dados porque como te foi dito, javascript não comunica com a tua base de dados do lado do servidor. tens agora que escolher - mandar toda a informação para o cliente (mais simples mas pode se tornar pesado) - pedir ao servidor a palavra traduzida a cada alteração do select (mais complicado, mas mais leve para o sistema) depois de escolher, diz, que eu ou outro te apresentarão o que terás de fazer ou ler para resolver o teu problema IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
daniel_ffp Posted December 13, 2012 Author Report Share Posted December 13, 2012 eu neste momento vou buscar os dados todos do dicionário e passo para o cliente por isso para já vou continuar dessa forma. Se me poderem ajudar agradecia Link to comment Share on other sites More sharing options...
lsoares Posted December 13, 2012 Report Share Posted December 13, 2012 (edited) à primeira vista pareces estar só a colocar a palavra e não o seu significado. <option><?php echo $reg['palavraPort']?></option> Edited December 13, 2012 by lsoares 1 Report --- Luís Soares jQuery - A Sua Biblioteca Javascript Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now