Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

flavialieggio

Puxando dados de uma select multiple

Recommended Posts

Olá pessoal

 

Estou montando uma select multiple e quero que quando eu jogar os valores para a segunda select eu clico em um botao onde ele manda esses valores para um textarea pra poder montar os dados... Mas nao consigo pegar mais de um valor.. esta indo o registro apenas do primeiro item que foi inserido..... Assim vou postar o script:

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script><!--
	function movimento(elemento, direcao) {
		var sel = document.getElementById(elemento);
		var len, i;
		if (!sel) {
			return;
		}
		if (direcao == 'passar' && arguments[2] == undefined) {
			return;
		} else if (direcao == 'passar') {
			var sel_pai = document.getElementById(arguments[2]);
			var selecionados = new Array();
			if (!sel_pai) {
				return;
			}
			len = sel_pai.options.length;
			for (i = 0; i < len; i++) {
				if (sel_pai.options[i].selected) {
					sel.options[sel.options.length] = new Option(sel_pai.options[i].text, sel_pai.options[i].value);
					selecionados.push(i);
				}
			}
			len = selecionados.length;
			for (i = len-1; i >= 0; i--) {
				sel_pai.options[selecionados[i]] = null;
			}
		} else if (direcao == 'cima' || direcao == 'baixo') {
			var selecionado = sel.selectedIndex;
			var comparacao = direcao == 'cima' ? selecionado - 1 : selecionado;
			var opts_values = new Array();
			var opts_texts = new Array();
			var tam = sel.options.length;
			var i;
			if (selecionado == -1) {
				return;
			}
			if (direcao == 'cima' && selecionado == 0) {
				return;
			}
			if (direcao == 'baixo' && selecionado == tam - 1) {
				return;
			}
			selecionado = direcao == 'cima' ? selecionado - 1 : selecionado + 1;
			for (i = 0; i < sel.options.length; i++) {
				if (i == comparacao) {
					opts_values.push(sel.options[i+1].value);
					opts_texts.push(sel.options[i+1].text);
					sel.options[i + 1] = null;
				}
				opts_values.push(sel.options[i].value);
				opts_texts.push(sel.options[i].text);
			}
			for (i = 0; i < tam; i++) {
				sel.options[i] = new Option(opts_texts[i], opts_values[i]);
			}
			sel.selectedIndex = selecionado;
		}
	}
--></script>
<style><!--
	#manipulacao {
		position: relative;
		width: 370px;
		font-size: 12px;
		font-weight: bold;
		font-family: Verdana, Arial, Helvetica, Sans-Serif;
		color: #00007F;
	}
	#manipulacao a, #manipulacao img {
		border: 0;
	}
	#manipulacao select {
		width: 150px;
	}
--></style>

</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td width="4%">
	<table width="17%" border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td>
		 <select id="menu_pai" name="menu_pai" size="5" multiple>
		 <?PHP 
	  $consulta = "SELECT * FROM pessoa";
	  $resultado = mysql_query($consulta,$conexao);
	  while ($row = mysql_fetch_array($resultado)){
		  echo "<option value='".$row['cod_pessoa']."'>".$row['pessoa']."</option>";
	  }
	  ?>
		  </select>
	  </td>
	  </tr>
	</table></td>
	<td width="12%">
		<a href="#" onClick="movimento('menu[]', 'passar', 'menu_pai')">Adicionar
		<!--<img src="seta-direita.gif" />--></a><br><br>
		<a href="#" onClick="movimento('menu_pai', 'passar', 'menu[]')">Remover
		<!-- <img src="seta-esquerda.gif" />--></a>
	</td>
	<td width="84%">
<form action="#" name="form1" method="post">	
	<table width="100%" border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td width="8%">
		<select id="menu[]" name="menu" size="5" multiple>
			</select>		</td>
		<td width="92%">
			<a href="#" onClick="movimento('menu[]', 'cima')">Para cima
			<!--<img src="seta-cima.gif" />--></a><br><br>
			<a href="#" onClick="movimento('menu[]', 'baixo')">Para baixo
			<!-- <img src="seta-baixo.gif" />--></a>
		</td>
	  </tr>
	</table>
<input type="submit" value="Ok">
</form>	
	</td>
  </tr>
</table>
<br><br>
<textarea>
<?PHP
$nome_pessoa = $_POST['menu'];
$query = "SELECT pessoa FROM pessoa WHERE cod_pessoa = $nome_pessoa";
$resultado = mysql_query($query,$conexao);
while ($linhas = mysql_fetch_array($resultado)){
	echo $linhas["pessoa"];	
}
?>
</textarea>
</body>
</html>

Ajuda por favor...rsrsss...

 

Eu sei que terei que pegar esse valores como array... mas nao estou conseguindo desenvolver isso bem!!! Por isso recorro a ajuda de voces por favor!!

 

Abraços galera

Flávia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola galera

 

Consegui pegar os arquivos da array.. agora e tentar salvar no banco de dados

 

Para quem se interessar eu alterei somente o nome da select e o textarea:

 

// NOME 2º SELECT

<select id="menu" [b]name="menu[]"[/b] size="5" multiple>


//CODIGO PHP ONDE PEGO OS VALORES NO TEXTAREA

<textarea>
<?PHP
$nome_pessoa = $_POST['menu'];

if ($nome_pessoa){

	for ($i=0;$i<count($nome_pessoa);$i++)
	{
		echo $nome_pessoa[$i]." - ";
	}

}
?>
</textarea>

Ta ai a solução... agora e inserir...

Valeu pela atenção

Flávia

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.