Bonjour,
Je suis un nouvel utilisateur de Zend et donc un peu nul.
Je souhaite faire un formulaire de membre et les fonctions CRUD élémentaires.
Tout d'abord les Membres sont dans une liste à sélection unique trier par ordre de nom et le premier membre est sélectionné par défaut (je n'arrive pas à faire ça)
Ce que j'ai réussi à faire, ma liste contenant les membres, le bouton add qui ajoute un membre.
Ce que je n'arrive pas à faire :
- Soumettre l'id du membre sélectionné dans la liste à l'action edit ou supprimer
Voici mon controller
L'erreur se trouve dans l'action edit et supprimer dont je ne trouve pas la solution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 <?php class BiblioController extends Zend_Controller_Action { public function init() { } public function indexAction() { $form = new Application_Form_Index(); $this->view->form = $form; // action body } public function addAction() { $form = new Application_Form_Membre(); $form->submit->setLabel('Add'); // action body if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $nom = $form->getValue('nom'); $prenom = $form->getValue('prenom'); $adresse = $form->getValue('adresse'); $localite = $form->getValue('localite'); $npa = $form->getValue('npa'); $membre = new Application_Model_DbTable_Membre(); $membre->addMembre($nom, $prenom, $adresse, $npa, $localite); $this->_helper->redirector('index'); } else { $form->populate($formData); } } $this->view->form = $form; } public function editAction() { $form = new Application_Form_Membre(); $form->submit->setLabel('Save'); $this->view->form = $form; if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $id = (int)$form->getValue('id'); $nom = $form->getValue('nom'); $prenom = $form->getValue('prenom'); $adresse = $form->getValue('adresse'); $localite = $form->getValue('localite'); $npa = $form->getValue('npa'); $membre = new Application_Model_DbTable_Membre(); $membre->updateMembre($id, $nom, $prenom, $adresse, $npa, $localite); $this->_helper->redirector('index'); } else { $form->populate($formData); } } else { $id = $this->_getParam('id', 0); if ($id > 0) { $membre = new Application_Model_DbTable_Membre(); $form->populate($membre->getMembre($id)); } } } public function deleteAction() { if ($this->getRequest()->isPost()) { $del = $this->getRequest()->getPost('del'); if ($del == 'Yes') { $id = $this->getRequest()->getPost('id'); $membre = new Application_Model_DbTable_Membre(); $membre->deleteMembre($id); } $this->_helper->redirector('index'); } else { $id = $this->_getParam('id', 0); $membre = new Application_Model_DbTable_Membre(); $this->view->membre = $membre->getMembre($id); } } }
Mon form
C'est dans cette partie là que je ne sais pas comment soumettre l'id du membre sélectionné à voir...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <?php class Application_Form_Index extends Zend_Form { public function init() { /* Form Elements & Other Definitions Here ... */ $membre = new Application_Model_DbTable_Membre(); $listeMembre = $membre->fetchAll(null,'Nom'); $array_membre = array(); foreach ($listeMembre as $membre) : $nomPrenom = $membre->Nom.' '.$membre->Prenom; $array_membre[$membre->NoMembre] = $nomPrenom; endforeach; $selectMembre = new Zend_Form_Element_Select('listeMembre'); $selectMembre->setLabel('Liste des membres') ->setAttrib('size',25) ->setMultiOptions($array_membre); $this->addElement($selectMembre); $add = new Zend_Form_Element_Button('add'); $add->setLabel('Nouveau') ->setAttrib('onclick','window.location =\''.$this->getView()->url(array('controller'=>'biblio','action'=>'add')).'\' '); $modify = new Zend_Form_Element_Submit('modify'); $modify->setLabel('Modifier') ->setAttrib('onclick','window.location =\''.$this->getView()->url(array('controller'=>'biblio','action'=>'edit')).'\' '); $delete = new Zend_Form_Element_Submit('delete'); $delete->setLabel('Supprimer') ->setAttrib('onclick','window.location =\''.$this->getView()->url(array('controller'=>'biblio','action'=>'delete')).'\' '); $this->addElements(array($add,$modify,$delete)); } }
Je pense que la solution est simple mais je n'arrive pas à la trouver. Merci à la personne qui me trouvera la réponse
EDIT ::: Au fait ce que je n'arrive pas à faire est de faire soumettre l'id du membre sélectionné dans la fenêtre principale à l'action edit ?
Partager