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
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
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(); }
J'ai l'erreur suivante: "Warning: Invalid argument supplied for foreach() in C:\dev\ApplicationNPD\application\views\scripts\notification\index.phtml on line 8 "
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'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 unqui me retourne 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part count($notif);
J'espère que vous pourriez m'aider à voir clair.
Merci d'avance
Partager