Jump to content

[Resolvido] Dropdown


daniel_ffp
 Share

Recommended Posts

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

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).

Link to comment
Share on other sites

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 by apocsantos
Link to comment
Share on other sites

então faz assim.

  1. coloca numa página nova o código abaixo
  2. faz view source
  3. 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?

Link to comment
Share on other sites

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

  • Vote 2
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

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

  • Vote 1
Link to comment
Share on other sites

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
Link to comment
Share on other sites

então faz assim.

  1. coloca numa página nova o código abaixo
  2. faz view source
  3. 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

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
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.