Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
bonjour a tous je voudrais savoir qu'elle est la méthode pour récuperer les valeurs SELECTIONé d'un multiselect ,
j'ai essayer getValues , getMultiOptions mais ca fonctionne pas , sachant que je veux recuperer les champs selectioné dans mon insertAction , jai fait $a=$form->getValues('nom_multiselect') mais sa fonctionne pas
quelqu'un pourrai m'aidez svp !!!
Dernière modification par abdel (13-04-2012 18:20:34)
Hors ligne
Salut,
La valeur de $this->_request->getParam('nom_multiselect') est bien cohérente ? Si non, cela vient de la définition de ton form. Utilises-tu Zend_Form pour le générer ?
A+
Hors ligne
tout d'abord merci pour ta reponse et pour repondre a ta question , oui j'utilise zend_form , j'ai un multiselect générer de 2 table ville et quartier et je voudrais dans mon controller récuperer les champs quartier séléctionner de ce multiselect
Hors ligne
Re,
Alors, si tu as défini ton multiselect comme ça :
$test= $this->createElement('multiselect','test');
Tu pourrais le récupérer comme ça :
$valeurs= $form->getValues(); $valeurs_multi= $values['test'];
Où $valeurs_multi est un tableau (fais un var_dump histoire de voir ce qu'il a dans le ventre ).
Si il n'y a rien dedans, essaye :
$test= $this->createElement('multiselect','test[]');
Mais je ne pense pas que ce soit nécessaire avec Zend de spécifier les [].
A+
Hors ligne
ca me récupere pas la valeur , c toujours 0 voila mon code
$ville = new Zend_Form_Element_Multiselect('ville');
$ville->setLabel('Localisation');
$city = new City();
$select = $city->select()->setIntegrityCheck(false)
->from('city');
$quarter = new Quarter();
$quarter_array = array();
foreach ($city->fetchAll($select) as $c) {
$select_quarter = $quarter->select()->setIntegrityCheck(false)
->from('quarter')
->where('quarter.City_cityId =' . (int) $c->cityId);
foreach ($quarter->fetchAll($select_quarter) as $q) {
$quarter_array[] = $q->quarterDescription;
}
$ville->addMultiOptions(array($c->cityDescription => $quarter_array));
$quarter_array = array();
et voila comment je recupere le champ
$ville = $form->getValues();
$ville_multi=$ville['ville'];
notant que je veux enregistrer dans une table ce champ selectionner
$quarterRestaurant->insertRestaurant_has_Quarter(1,(int)$ville_multi);
Dernière modification par abdel (14-04-2012 18:02:59)
Hors ligne
j'ai fai un zend_debug::dump($ville_multi) ca me donne les valeurs 0 et 1 et nn pas les valeurs Id des 2 quartier normalement j'aurai du avoir 2 et 3 , je dois recuperer les valeurs id des champs sélectionné existant dans la bd
des suggestions ?? merci d'avance
Dernière modification par abdel (14-04-2012 19:04:07)
Hors ligne
je pense c mission impossible 5 de faire sa , je vous donne un exemple de ce que je veux faire pour que vous sachiez exactement ce que je veux faire , je recupere dans un multiselect ville avec ces quartier
exemple =>new york(quand peu pa selectionné )
brookline
quartier2
=> paris
quartier1
quand je selectionne exemple brookline je voudrais recupere la valeur de son id se trouvant dans la table quartier , maintenant je recupere que son id dans le multiselect qui est 0 et nn pas son id dans la table quartier qui est 2
une idee s'il vous plait comment faire pour le recuperer j'en ai vraiment besoin pour avancer dans mon travail , je bloque dessus depuis une semaine et je commence a perdre du temps
Hors ligne
le probleme c'est que quand je genere ma multiselect je specifie pas les id des quartier ce qui fait que quand j'inspecte ma multiselect génerer dans le browzer je trouve <option value=0 label =brookline>....
c'est pour cela que je recupere pas les id des quartier
quelqu'un sait comment on peut affecter les id des champs dans un multiselect , j'ai essayer cela mais ca marche pas
$ville = $this->createElement('multiselect','ville');
$ville->setLabel('Localisation');
$city = new City();
$select = $city->select()->setIntegrityCheck(false)
->from('city');
$quarter = new Quarter();
$quarter_array = array();
foreach ($city->fetchAll($select) as $c) {
$select_quarter = $quarter->select()->setIntegrityCheck(false)
->from('quarter')
->where('quarter.City_cityId =' . (int) $c->cityId);
foreach ($quarter->fetchAll($select_quarter) as $q) {
$quarter_array[] = $q->quarterDescription;
$quarterId[]=$q->quarterId;
}
$ville->addMultiOptions(array($c->cityDescription =>$quarterId, $quarter_array));
$quarter_array = array();
$quarterId=array();
}
Hors ligne
supeeer a force de travailler dessus j'ai resolu mon probleme
Hors ligne
Bjr abdel ca va j'ai le meme probleme je veux recupere l Id de la ville pour recupere le les quartier affecter a cet ville est ce que tu peux m aidee comme t as resolut ton probeleme merci
Hors ligne
regarde lahaut dans mon message 10 tu trouvera la reponse
Hors ligne
Pages: 1