Récupération des données d'une table
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:
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:
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:
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