bonjour,
J'essaie d'afficher les données de ma sources de données.
Elle est remplie par une requête éxecutée via PDO. La méthode me retourne une liste d'objets remplie.
Lorsque j'essaie de l'afficher il n' y a pas d'erreurs php mais le code php me renvoie du vide.
En détail voici le code:
Ma classe entite
Ma classe Manager
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
29 class News { public $_id; // en public afin de vérifier si je peux y accéder directement mais il repassera en private public $_titre; // en public afin de vérifier si je peux y accéder directement mais il repassera en private public function getId() { return $this->_id; } public function setId($id) { if(!is_int($id)) throw new Exception('L\'id n\'es pas de type int'); $this->_id = $id; } public function getTitre() { return $this->_titre; } public function setTitre($titre) { if(!is_string($titre)) throw new Exception('Le titre n\'es pas de type string'); $this->_titre = $titre; } }
Pour l'affichage de ma page index voici le code:
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 require 'news.php'; class newsManager { const SELECT_5LAST_NEWS = 'SELECT * FROM news ORDER BY id DESC LIMIT 0,5'; public function select5News() { $this->_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $query = $this->_db->query(self::SELECT_5LAST_NEWS); $query->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'News'); $listNews = $query->fetchAll(); $query->closeCursor(); return $listNews; } }
J'obtiens un affichage vide. Je vous laisse le code source de la page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 require 'classes/newsManager.php'; $newsmngr = new newsManager(); $list = $newsmngr->select5News(); foreach($list as $news) { echo '<section><p class="titre"><a href="administration.php?id='.$news->getId().'">'.$news->getTitre().'</a></p></section>'; }
Pourtant quand je fais un var_dump comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <section><p class="titre"><a href="administration.php?id="></a></p></section>
il m'affiche bien le contenu de ma source de données
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (...) $list = $newsmngr->select5News(); var_dump($list); (...)
Il n'y a aucune error PHP. je sèche un peu. Je suis novice en PHP; je suis un développeur .Net.
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 array (size=4) 0 => object(News)[4] public '_id' => null public '_titre' => null private '_auteur' => null public '_contenu' => null private '_dateAjout' => null private '_dateModif' => null public 'id' => string '4' (length=1) public 'auteur' => string 'thierry77' (length=9) public 'titre' => string 'mais encore....' (length=15) public 'contenu' => string 'Quid enim tam absurdum quam delectari multis inanimis rebus, ut honore, ut gloria, ut aedificio, ut vestitu cultuque corporis, animante virtute praedito, eo qui vel amare vel, ut ita dicam, redamare possit, non admodum delectari? Nihil est enim remuneratione benevolentiae, nihil vicissitudine studiorum officiorumque iucundius.' (length=328) public 'dateAjout' => string '0000-00-00 00:00:00' (length=19) public 'dateModif' => string '0000-00-00 00:00:00' (length=19) (...)
Merci de votre aide.
Partager