Bonjour,
Je suis nouveau sur le forum et je viens tout juste de découvrir le framework Zendet aujourd'hui j'ai un problème, j'ai crée une table et j'arrive à insérer des données dedans mais pour modifier les données j'y arrive pas, si quelqu'un pourrait m'aider svp, je vous montre mon code est en "MVC" :
Le controlleur :
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 class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // Liste les albums et fetchAll lit toute les lignes de notre liste d'album $albums = new Application_Model_DbTable_Albums(); $this->view->albums = $albums->fetchAll(); } public function ajouterAction() { $form = new Application_Form_Album(); $form->envoyer->setLabel('Ajouter'); $this->view->form = $form; if($this->getRequest()->isPost()){ $formData = $this->getRequest()->getPost(); if($form->isValid($formData)){ $artiste = $form->getValue('artiste'); $titre = $form->getValue('titre'); $albums = new Application_Model_DbTable_Albums(); $albums->ajouterAlbum($artiste, $titre); $this->_helper->redirector('index'); } else{ $form->populate($formData); } } }Le modele :
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 public function modifierAction() { $form = new Application_Form_Album(); $form->envoyer->setLabel('Sauvegarder'); $this->view->form = $form; if($this->getRequest()->isPost()){ $formData = $this->getRequest()->getPost(); if($form->isValid($formData)){ $id = $form->getValue('id'); $artiste = $form->getValue('artiste'); $titre = $form->getValue('titre'); $albums = new Application_Model_DbTable_Albums(); $albums->modifierAlbum($id, $artiste, $titre); $this->_helper->redirector('index'); } else{ $id = $this->_getParam('id', 0); if($id > 0){ $albums = new Application_Model_DbTable_Albums(); $form->populate($albums->obtenirAlbum($id)); } } } } public function supprimerAction() { $form = new Application_Form_Album(); $form->envoyer->setLabel('Supprimer'); $this->view->form = $form; if($this->getRequest()->isPost()){ $supprimer = $this->getRequest()->getPost('supprimer'); if($supprimer == 'Oui'){ $id = $this->getRequest()->getPost('id'); $albums = new Application_Model_DbTable_Albums(); $albums->supprimerAlbum($id); $this->_helper->redirector('index'); } else{ $id = $this->_getParam('id', 0); $albums = new Application_Model_DbTable_Albums(); $this->view->album = $albums->obtenirAlbum($id); } } } }
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 [SIZE="2"]class Application_Model_DbTable_Albums extends Zend_Db_Table_Abstract { protected $_name = 'albums'; public function obtenirAlbum($id) { $id = (int)$id; $row = $this->fetchrow('id = '.$id); if(!$row){ throw new Exception("Impossible de trouver l'enregistrement $id"); } return $row->toArray(); } public function ajouterAlbum($artiste, $titre) { $data = array( 'artiste' => $artiste, 'titre' => $titre, ); $this->insert($data); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public function modifierAlbum($id, $artiste, $titre) { $data = array( 'artiste' => $artiste, 'titre' => $titre, ); $this->update($data, 'id='.(int)$id ) }
Partager