Bonjour , je suis en train de developper une application de gestion des stages en php5 et j'utilise le framework zend et je le connai pas bc voici le code de fonction modifier qui permet de modifier un encadreur dans le controlleur encadreur :
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
public function modifierAction()
    {
       $form = new Application_Form_ModifEncadreur();
		$this->view->form = $form;
		if ($this->getRequest()->isPost()) {
        $formData = $this->getRequest()->getPost();
        if ($form->isValid($formData)) {
            $id_encadreur = (int)$form->getValue('id_encadreur');
			$nom_encadreur = $form->getValue('nom_encadreur');
			$prenom_encadreur = $form->getValue('prenom_encadreur');
			$mail_encadreur = $form->getValue('mail_encadreur');	
			$tel_encadreur = $form->getValue('tel_encadreur');
			$nom_etab = $form->getValue('nom_etabli');
			$encadreur = new Application_Model_Encadreur();
			$encadreur->modifierEncadreur($id_encadreur,$nom_encadreur,$nom_etab,$prenom_encadreur,$email_encadreur,$tel_encadreur);
			$this->_redirect('/');
        } else {
            $form->populate($formData);
        }
    } else {
        $id_encadreur = $this->_getParam('id', 0);
		echo $id_encadreur;
        if ($id_encadreur > 0) {
            $encadreur = new Application_Model_Encadreur();
            $form->populate($encadreur->obtenirEncadreur($id_encadreur));
        }
    }
    }
et voila le model que j'utilise pour récuperer les enregistrement de BD et j'utilise deux fonction dans ce modele obtenirEncadreur() pour recuperer l'encadreur et modifierEncadreur() pour la mettre a jour :
public function
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
modifierEncadreur($id_encadreur,$nom_encadreur,$nom_etab,$prenom_encadreur,$email_encadreur,$tel_encadreur)	
	{
		$data = array(
                   'nom_encadreur' => $nom_encad,
				   'nom_etablissement' => $nom_etab,
                   'prenom_encadreur' => $prenom_encad,
				   'email_encadreur' => $email_encad,
                   'tel_encadreur' => $tel_encad
				   );	
		$this->update($data, 'id = '. (int)$id_encadreur);		   
 
	}
 
	public function obtenirEncadreur($id_encadreur)
    {
 
        $id_encadreur = (int)$id_encadreur;
		$db = new Zend_Db_Adapter_Pdo_Mysql(array('host' => 'localhost','username' => 'root','password' => '','dbname' => 'Stages'));
		$sql="SELECT * from encadreur where id_encadreur ='$id_encadreur' ";
		$db->setFetchMode(Zend_Db::FETCH_OBJ); 
        $enreg = $db->fetchRow($sql);
        if (!$row) {
            throw new Exception("Enregistrement non trouvé");
        }
        return $row->toArray();
    }
et je pense que le probleme et dans la fonction obtenirEncadreur() car j'utilise zend_adapter et non pas zend_dbTable est ce que vous pouver m'aider svp ???