Como puedo hacer un desplegable (select) con ZEND des de un fetchall() de una base de datos??
Sólo me sale un elemento en el desplegable (el último!) porqué?
Tengo el controlador:
Código:
Tengo el modelo:public function subprojecteAction(){ $subprojmod = new Application_Model_DbTable_SubProjecteModel(); //comprovo si estic gestionant un projecte if ( isset($_POST['proj_nom']) ){ if ($_POST['proj_nom']==null || $_POST['proj_descr']==null) echo "<span style='color:brown;position:absolute;padding-right:40px;right:0px;font-style:oblique;'>Error de camps incorrectes</span>"; else{ $data = array('nom'=>$_POST['proj_nom']); $subprojmod->inserirSubProjecte($data); //despres s'ha de inserir a la BD de la relació } } $this->view->subproj = $subprojmod->fetchAll(); $projmod = new Application_Model_DbTable_ProjecteModel(); $this->view->proj = $projmod->fetchAll(); }
Código:
Tengo el formulario: class Application_Model_DbTable_SubProjecteModel extends Zend_Db_Table_Abstract { protected $_name = 'subproj';
Código:
class Application_Form_SubProjecte extends Zend_Form { public function init(){ } public function __construct($options = null) { parent::__construct($options); $this->ferForm($options); } public function ferForm($options){ $this->addElement('text', 'subproj_nom', array( 'label' => 'Nom de la sub projecte:', 'required' => true, )); $this->addElement('select', 'proj_id', array( 'label' => 'Projecte:' )); foreach ($options as $x){ $arrayLst = array( $x['id'] => $x['nom'] ); } $this->getElement('proj_id')->setMultiOptions( $arrayLst ); $this->addElement('submit', 'submit', array( 'ignore' => true, 'label' => 'Guardar', )); } }
Y tengo la vista:
Código:
<fieldset><legend>Inserir nou subprojecte</legend><br /> <?php $form_proj = new Application_Form_SubProjecte($this->proj); $projmod = new Application_Model_DbTable_SubProjecteModel(); echo $form_proj; ?> </fieldset>