Bonjour. Un certain moment donnée, un membre d'ici me parlais de séparer
mon code html du code php et je ne comprenais pas vraiment bien. Mais,
depuis j'ai entendu parlé du MVC (Model, View et Contrôleur). Et voici, ce que
j'ai tenté de faire. Un listing MVC en PDO et possiblement orienté objet (POO).
DBH.PHP (connexion base de données):
MODEL.PHP (les requêtes sql):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php $dbh = new PDO("mysql:host=localhost;dbname=latable", 'root', 'pass'); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $dbh->exec("SET CHARACTER SET utf8"); // http://notes.mazenod.fr/tp-architecture-mvc.html (ce lien qui explique le MVC) ?>
VIEW.PHP (la vue, l'aspect qui touche homme/machine):
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 <?php function getListing() { require('dbh.php'); $results = $dbh->prepare(' SELECT ladate,taux1,taux2,repas,details,comm FROM list '); $results->execute(); $listing = array(); while ($row = $results->fetch()) { $listing[] = $row; } $results->closeCursor(); return $listing; } ?>
Voilà, je me demandais si j'étais dans la bonne direction pour
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 <html> <head> <title></title> <style> table {width:900px} th {width:16%} td {text-align:center} </style> </head> <body> <h1>Listing</h1> <table> <tr><th>Date</th><th>Taux1</th><th>Taux2</th><th>Repas</th><th>Détails</th><th>Comm</th></tr> <?php foreach ($listing as $laliste): ?> <tr> <td><?php echo $laliste['ladate'] ?></td> <td><?php echo $laliste['taux1'] ?></td> <td><?php echo $laliste['taux2'] ?></td> <td><?php echo $laliste['repas'] ?></td> <td><?php echo $laliste['details'] ?></td> <td><?php echo $laliste['comm'] ?></td> </tr> <?php endforeach; ?> </table> </body> </html>
une structure MVC et Orienté Objet. Quoique PDO est orienté objet.
Aussi, si y a des choses que je devrais améliorer et pourquoi.
Là, c'est juste une liste simple. Il va me rester à déterminer la manière
de faire faire mes fichiers MVC si j'ai plus d'une requête et affichage a
faire et à contrôler.
C'est apprécié.
Partager