Bonjour,
J'ai un petit souci sur une de mes pages en mvc, à savoir que je fais passer un array dans le controleur dont je n'arrive pas à récupérer les valeurs dans ma vue.
Au niveau de la méthode appelée, c'est le getCommentaires de la classe commentaireManager :
Au niveau du controlleur, je l'appelle de cette manière, et le renvoie à la vue correspondante (back_end) :
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 public function getCommentaires($id = null) { $bdd = $this->bdd; $query = 'SELECT COM_ID AS id, COM_DATE AS date_b, COM_AUTEUR AS auteur, COM_CONTENU AS contenu, COM_SIGNALEMENT as signalement FROM T_COMMENTAIRE'; ($id == null) ? $where = '' : $where = ' WHERE BIL_ID= :id '; $query .= $where; $query .= ' ORDER BY COM_ID desc '; ($id == null) ? $limit = 'LIMIT 0,3' : $limit = ''; $query .= $limit; // echo $query; exit; $req = $bdd->prepare($query); if ($id) $req->bindParam(':id', $id); $req->execute(); if ($req->rowCount() > 0) { while ($row = $req->fetch(PDO::FETCH_ASSOC)) { // instance of a commentaire object $commentaire = new Commentaire(); // hydrate manualy from bdd datas $commentaire->hydrate($row); $commentaires[] = $commentaire; } return $commentaires; } }
Et enfin, au niveau de ma vue, j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function back_end() { $multiCommentaire = new commentaireManager; $multiComms = $multiCommentaire->getCommentaires(); $view = new view(); $view->render('Back_end', array('title' => 'Back_end', 'multiComms' => $multiComms)); }
j'ai un joli message d'erreur qui m'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php if (is_array($multiComms)) : ?> <?php foreach ($multiComms as $commentaires): ?> <header> <h1 class="titreCommentaire"><?php echo $commentaires->getcomAuteur(); ?></h1> <time><?php echo $commentaires->getcomDate(); ?></time> </header> <p><?php echo $commentaires->getcomContenu(); ?></p> <hr /> <?php endforeach; ?> <?php endif; ?>
Notice: Undefined variable: multiComms in C:\Users\Adrien.Gautier\Desktop\P3Abiolab\P3_V11\view\back_end.php on line 50
De plus, lorsque j'appelle cette même fonction dans un autre controleur (listeEpisodes) tel que :
Au niveau de ma vue associée, le code est exactement le même que celle du dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public function listeEpisodes(){ $multiBillet = new billetManager; $multiBills = $multiBillet->getBillets(); $multiCommentaire = new commentaireManager; $multiComms = $multiCommentaire->getCommentaires(); $view = new view(); $view->render('Episodes', array('title' => 'test', 'multiBills' => $multiBills, 'multiComms' => $multiComms)); }
Ici, pas de messages d'erreur, je n'ai juste que le vide qui remonte :p
J'ai checké ma bdd, ma requete, tout est bon, et le passage se fait bien car mes vues sont bien générées, je ne comprends juste pas d'ou le probleme peut venir du coup pour que rien ne s'affiche, sinon ce message d'erreur sur une page sur deux.
Merci d'avance![]()
Partager