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);
			}
		}
    }
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);
			}
		}
	}
 
}
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
[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 )
	}