zeanwork.com.br  >>  Fórum  >>  Views, Elements e Layouts  >>  foreach
Views, Elements e Layouts
Flavio Cesarino
Criado em: 19/12/2011 20h 39min
foreach
Como faço um foreach para exibir dados do banco de dados no select do formulário?

Só consegui resposta deste modo mas só que deste modo fica um select para cada opção.

foreach($usuariosestados as $estado):

echo $this->form->select('estado',
array(
'options' => array(
array('optgroup' => true, 'label' => 'Selecione o Estado')
, array('value' => $estado['sigla'], 'text' => $estado['nome']
)
)
, 'class' => 'classCss'
, 'label' => 'Estado'
, 'divForLabel' => true
, 'divForInput' => true
)
).br();

endforeach;
Josemar Davi Luedke
Respondido em: 20/12/2011 00h 43min
Alterado em: 20/12/2011 00h 44min
Opa, você pode fazer assim:



<?php
$options = array(array('label' => 'Selecione o Estado'));

foreach($usuariosestados as $estado):
   $options&#91;&#93; = array('value' => $estado&#91;'sigla'&#93;, 'text' => $estado&#91;'nome'&#93;);
endforeach;

echo $this->form->select('estado', array(
  'options' => $options
'class' => 'classCss'
'label' => 'Estado'
'divForLabel' => true
'divForInput' => true
)
).br();




Att,
Flavio Cesarino
Respondido em: 20/12/2011 03h 03min
Opa, obrigado. Deu certinho aqui.
Flavio Cesarino
Respondido em: 20/12/2011 04h 18min
e neste caso como eu faria para deixar um campo selecionado com o comando selected?
Flavio Cesarino
Respondido em: 07/01/2012 14h 30min
Opa consegui. Fiz o seguinte:


$options = array(array('label' => 'Selecione o Estado'));

foreach($usuariosestados as $estado):

if($estado['id'] == $usuario['estadoId']):

$selected = '" selected="selected';

else:

$selected = '';

endif;

$options[] = array('value' => $estado['id'].$selected, 'text' => $estado['nome']);

endforeach;

echo $this->form->select('estadoId', array(
'options' => $options
, 'class' => 'classCss'
, 'label' => 'Estado:'
, 'divForLabel' => true
, 'divForInput' => true
)
).br();