Bonjour
je viens de débuter sous Zend et j'essaie de récupérer et d'afficher les données d'une table de ma base.

Voilà le modèle dans lequel je récupère les données: Notification.php

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
 
class Business_Notification
{
    protected $conn_db;  
 
    public function  __construct()
    {
         $conn_db =  new Utils_DbExec_ZendDb();
    }
 
 
public function getNotifications()
    {
        $res = -1;
 
        //connexion à la BDD
        $conn_db =  new Utils_DbExec_ZendDb();
 
        $res = $conn_db->execReq('select * from notifications', 'select');
 
        return $res;
    }
}

Le contenu de mon contrôleur: NotificationControlleur.php

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
 
    class NotificationController extends Zend_Controller_Action
    {
        public function init()
        {
 
        }
 
        public function indexAction()
        {
            $this->view->title = "Accueil Notifications";
            $this->view->headTitle($this->view->title, 'PREPEND');
        }
 
        public function afficherAction()
        {
            $db = new Business_Notification();
 
            if ($this->getRequest()->isPost())
            {
	            $this->_helper->layout->setLayout('blanklayout');     
            }
 
            //récupération des données 
            $this->view->notif = $db->getNotifications();
        }
et ma vue dans laquelle je récupère les données sélectionnées et je les affiche: index.phtml
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
 
<?php
       $notif = $this->notif;
 
       error_log($notif);
 
        foreach ($notif as $n)
        {
             echo $n['id'];
 
           //  error_log($n['titre']);
 
            /* echo '<table align="center">
                    <tr>
                        <td>'.$n["titre"].'</td>
                        <td>'.$n["npdID"].'</td>
                    </tr>
                  </table>';*/
        }
 
 ?>
J'ai l'erreur suivante: "Warning: Invalid argument supplied for foreach() in C:\dev\ApplicationNPD\application\views\scripts\notification\index.phtml on line 8 "

J'ai l'impression que $notif est vide. Pourtant, la connexion à la base marche très bien, car j'arrive à afficher les données sur une autre page. Je veux faire pareil sur la page notification, en adaptant juste le code à la page.
J'ai fait un qui me retourne 0.

J'espère que vous pourriez m'aider à voir clair.

Merci d'avance