Jump to content
Biel.

for ou foreach fora do select e que funcione

Recommended Posts

Direto ao ponto. Pessoal abaixo temos EX1 e EX2, ambos exibe na tela o mesmo resultado. No EX1 note que (estrutura de repetição for) está DENTRO do <select> </select> 

Existe alguma forma da (estrutura de repetição for) ficar FORA do <select> </select> e ainda assim obter o mesmo resultado que o EX2 ?

 

EX 1
<?php 
$dados = array("verde", "amarelo", "azul" , "branco" );
//for($i=0; $i <count($dados); $i++){
?>
<select name="cores" required >
<option value=""></option>
<?php 
for($i=0; $i <count($dados); $i++){
?>
<option><?php echo $dados[$i];?></option>
<?php }?>
</select>

<hr>

EX 2
<select name="cores" required >
    <option></option>
    <option>verde</option>
    <option>amarelo</option>
    <option>azul</option>
    <option>branco</option>
</select>

 

Share this post


Link to post
Share on other sites

Se a questão é ficar com o foreach desacoplado do html você pode colocar os options num array e então "implodar" eles dentro do select

<?php
  $data    = ["um","dois","tres","quatro"];
  $options = [];
  foreach($data as $val){
      $options[] = "<option value='{$val}'>{$val}</option>";
  }
?>

<html>
  <select>
    <?php 
		$option = implode(",",$options);
		echo $option;
	?>
  </select>
</html>

 

Share this post


Link to post
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

  • Similar Content

    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal abaixo temos três function. (Ex1 quando dou echo retorna div email) (Ex2 quando dou echo retorna div nome) (Ex3 gostaria que retornasse div nome e div email em echo SEPARADO usando apenas uma function
      EX 1 <?php $email = "teste@gmail.com"; ?> <?php function aprendiz_01($email){?> <div style="border:1px solid #F05;">email</div> <?php }?> <?php echo aprendiz_01($email);?> <br />------------------------------------------------- 01<br /> EX 2 <?php $nome = "joao"; ?> <?php function aprendiz_02($nome){?> <div style="border:1px solid #F05;">joao</div> <?php }?> <?php echo aprendiz_02($nome);?> <br />------------------------------------------------- 02<br /> EX 3 <?php $nome = "joao"; $email = "teste@gmail.com"; ?> <?php function aprendiz_03($nome){?> <div style="border:1px solid #F05;">joao</div> <?php }?> <?php echo aprendiz_03($nome);?> <?php //echo 'email ->'.aprendiz_03($email);?> <br />------------------------------------------------- 03<br />  
    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal abaixo temos EX1 e EX2 . EX1 nao tem parâmetro e exibe na tela todos os  valores de vez.
      Gostaria que EX2 tivesse três parâmetros ($email , $paixao , $meta) e que retornasse seus valores à partir da function e não apenas dar um echo na variável 
      EX 1<br /> <?php function exibirTodosDeVez(){ $email = 'teste@gmail.com<br />'; $paixao = 'aprender<br />'; $meta = "nunca desistir"; return ($email.$paixao.$meta); } print exibirTodosDeVez(); ?> <hr /> EX2<br /> <?php $email = 'teste@gmail.com<br />'; $paixao = 'aprender<br />'; $meta = "nunca desistir"; // quero usar apenas uma function para as três variavel e retornar o valor de cada variavel. Conseguir retornar somente o email function exibirIndividual($email){ echo '55'. $email; } echo exibirIndividual($email); ?>  
    • By Biel.
      .
    • By Biel.
      Olá pessoal. Direto ao ponto. 
      Pessoal o código abaixo replica o select normalmente com function sem necessidade de repetir select e itens html na integra 
      Alguém sabe dizer se é possível replicar o select abaixo (sem function) e (sem transformar select e itens em string?) 
      <?php function replicarSelectB(){?> <select name="cores" class="select_auto" required> <option></option> <?php $arrayCores = array("verde", "amarelo"); for($i=0; $i <count($arrayCores); $i++){ $exibe = $arrayCores[$i]; ?> <option value="<?php echo $exibe;?>" ><?php echo $exibe;?></option> <?php }//final for?> </select> <?php }//final function?> <br> <?php print(replicarSelectB());?><br /> <?php print(replicarSelectB());?>  
    • By Biel.
      Direto ao ponto. Pessoal como faço para function abaixo aceitar a variável externa $corAtual .Quero exibir na tela a cor atual na regra if elseif 
      NOTA: A $corAtual pode ser replicada para dentro da function , mas não pode está dentro da function . 
      Pessoal quero muito fazer isso funcionar. Obrigado !
      <?php $corAtual = "verde"; // verde azul ?> <?php function cores(){?> <?php if($corAtual == "verde"){ print "a cor atual é VERDE"; } elseif($corAtual == "azul"){ print "a cor atual é AZUL"; } ?> <?php }?> <?php (cores());?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.