Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je suis nouveau et débutant de Zend... Au passage, je trouve votre forum bien fait !
Voici ma question :
J'aimerais remplir une liste déroulante via une table de ma base de données.
Je ne sais pas comment insérer le résultat de ma requête dans un tableau pour que celui ci puisse être utilisé avec Zend_Form_Element_Select.
Dans l'exemple ci-dessous, j'aimerais que $tab soit le résultat d'une requête et non un tableau tout fait.
$tab= array( '1' => 'roger','2' => 'simone','3' => 'yvan' ); $select_personne = new Zend_Form_Element_Select('select_personne'); $select_personne->setLabel('Personne : '); $select_personne->setMultiOptions( $tab );
Pourriez-vous m'expliquer comment je dois m'y prendre ?
Merci d'avance.
Hors ligne
Ma technique pour ca , peux etre pas tres propres mais bon elle fonctionne tres bien
c'est de crée un attribut select_value et une methode set_select_value (qui renseigne ton attibut) dans ta classe de formulaire
dans ton controller apres 'ta requete' tu fait un :
$form->set_select_value(ton retour de requete)
et dans ton form tu fait un
'multiOptions'=> $this->select_value,
il doit exister d'autre technique pour faire ca .
Romain
Dernière modification par romain (19-02-2009 11:04:47)
Hors ligne
Merci de votre réponse...
Mais je n'ai pas bien compris.
Il n'y a pas un moyen simple de faire ça requête comme ceci :
$personne = new Personne(); $this->view->personne = $personne->fetchAll();
et de mettre le résultat dans la variable $tab ?
Hors ligne
Il me semble que setMultiOptions ne prend que les array
il te suffit de faire :
$personne->fetchAll()->toArray();
Hors ligne
Merci beaucoup, c'est bien cela :-)
$personne = new Personne(); $tab= $personne->fetchAll()->toArray(); $select_personne = new Zend_Form_Element_Select('select_personne'); $select_personne->setLabel('Personne : '); $select_personne->setMultiOptions( $tab );
J'ai juste encore un petit soucis :
Il me renvoie tous les éléments d'une ligne.
Comment je fais pour n'avoir que le nom et prénom concaténé ?
Dernière modification par smo (19-02-2009 13:30:01)
Hors ligne