Ir para conteúdo

POWERED BY:

Arquivado

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

sr.silva

[Resolvido] Campo Select - Otimização de Uso

Recommended Posts

Pessoal,

 

Existe uma forma mais fácil e simples de trabalhar com o campo:

 

<select>
   <option></option>
</select>

Porque estou usando um pra trazer valores de uma tabela.

 

Só que no momento da edição, não retorna selecionado o valor escolhido.

 

A dúvida é:

 

- Já que eu armazeno o valor(ID) das opções desse select, pra eu deixar a opção selecionada tenho que fazer um select na tabela correspondente e colocar na tag option.

 

Será que existe uma maneira mais fácil de fazer isso?

 

[]´s

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde!

aqui na empresa empresa eu uso uma função do ADODb que ajuda bastante na montagem dos selects.

 

mas no caso de sua pergunta você tem que colocar o id de seu registro na propriedade tag do select, e quendo acontecer o post é esse valor que o php receberá.

 

<select>
  <option value="1">Laranja</option>
</select>

e quando você tiver que pocisionar no option correspondente ao banco terá que fazer isso no loop de montagem do combo.

 

Leandro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim..só que procuro algo mais fácil de criar.

 

Imagina a trabalheira que terei, assim como muitos...de cada cadastro com select, pegar o ID cadastrado , buscar o valor na

tabela correspondente e mostrar novamente no cadastro principal;

 

É fácil não hein.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei com ovc faz conexão com o banco de dados, aqui faço atraves do ADOBD que já possui uma função para gerar o select o posiciona-lo.

 

Mas se você usa as funções de conexão do Mysql, você pode fazer uma função tb...apenas passando um dataset , qual o value que você quer que ele posicione, um tercero parametro que pode será uma string ond evc pode configurar outros propriedades do select.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia ser assim se você usa mysql:

 

 

<?php


  function geraSelectHTML($dataSet, $selectName, $optionEmpty, $optionValue, $attribute)
  {
		
		   
	 $result = '<select name="' . $selectName . '" ' . $attribute . ">\n";
			
	 if($optionEmpty === true)
	 {
					
		 $result .= '		<option value=""></option>' . "\n";
					
	 }
					
	 while($row = mysql_fetch_array($dataSet))
	 {

		   $result .= '		<option value="' . $row[0];

		   if($row[0] == $optionValue)
		   {
								
				$result .= ' selected="selected" ';
								
		   }
								
		   $result .= ">\n";
								
		   $result .= $row[1];
								
		   $result .= "</option>\n";
					
					
	 }
					
	 $result .= "</select>\n";
					
	 return $result;
				
		
  }
		
		
   $conn = mysql_connect('localhost','usuario','senha');
   
   mysql_select_db('database',$conn);
   
   $query = 'SELECT codigo_ativ, descricao FROM tipo_atividade';   
   
   $tipos = mysql_query($query, $conn);
			
   $query = 'SELECT codigo, nome , codigo_ativ FROM pessoa where codigo = 1';   
   
   $pessoa = mysql_query($query, $conn);
			
   $row = mysql_fetch_assoc($pessoa);
			
   echo 'Pessoa : '	. $row['nome'] . '<br>'

   echo 'Atividade : ' . geraSelectHTML($tipos, 'sel_atividades', true, $row['codigo_ativ'], ' class="teste" onchange="alert(\'ok\');"');
		


?>

não testei o codigo

 

Leandro

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora este codigo está testado:

 

<?php


  function geraSelectHTML($dataSet, $selectName, $optionEmpty, $optionValue, $attribute)
  {
		
		   
	 $result = '<select name="' . $selectName . '" ' . $attribute . ">\n";
			
	 if($optionEmpty === true)
	 {
					
		 $result .= '		<option value=""></option>' . "\n";
					
	 }
					
	 while($row = mysql_fetch_array($dataSet,MYSQL_NUM))
	 {

		   $result .= '		<option value="' . $row[0];

		   if($row[0] == $optionValue)
		   {
								
				$result .= ' selected="selected" ';
								
		   }
								
		   $result .= ">\n";
								
		   $result .= $row[1];
								
		   $result .= "</option>\n";
					
					
	 }
					
	 $result .= "</select>\n";
					
	 return $result;
				
		
  }
		
		
   $conn = mysql_connect('localhost','usuario','senha);
   
   mysql_select_db('teste',$conn);
   
   $query = 'SELECT codigo_ativ, descricao FROM atividade';   
   
   $tipos = mysql_query($query, $conn);
												
   $query = 'SELECT codigo, nome , codigo_ativ FROM pessoa where codigo = 1';   
   
   $pessoa = mysql_query($query, $conn);
			
   $row = mysql_fetch_assoc($pessoa);
			
   echo 'Pessoa : '	. $row['nome'] . '<br>';

   echo 'Atividade : ' . geraSelectHTML($tipos, 'sel_atividades', true, $row['codigo_ativ'], ' class="teste" onchange="alert(\'ok\');"');
		


?>
Falou

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.