Bonjour à tous,
voila c’est mon premier exercice en php5.
J’ai trouvé ce code exécutable.
Aide moi à trouver la solution la plus efficace.
table utiliser user(id,name)
comment je peux affiché le contenu de la table user dans un tableau en utilisant une méthode de classe UserTable ?
contenu de fichier "class_MyPDO.php"
contenu de fichier "class_UserTable.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 <?php class MyPDO extends PDO { public function __construct($dsn, $user=NULL, $password=NULL) { parent::__construct($dsn, $user, $password); $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } public function prepare($sql, $options=NULL) { $statement = parent::prepare($sql); if(strpos(strtoupper($sql), 'SELECT') === 0) //requête "SELECT" { $statement->setFetchMode(PDO::FETCH_ASSOC); } return $statement; } } ?>
contenu de fichier "main.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
24
25
26
27
28
29
30
31
32 <?php class UserTable { private $selectAll; private $insert; public function __construct($db) { $this->selectAll = $db->prepare( "SELECT id, name FROM user ORDER BY name, id"); $this->insert = $db->prepare( "INSERT INTO user (name, password) VALUES (:name, :password)"); } public function insert($name, $password) { $this->insert->execute( array(':name' => $name, ':password' => $password)); return $this->insert->rowCount(); } public function selectAll() { $this->selectAll->execute(); return $this->selectAll->fetchAll(); } } ?>
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 <?php require_once 'class_UserTable.php'; require_once 'class_MyPDO.php'; $db = new MyPDO('mysql:host=localhost;dbname=developpez', 'root', ''); $userTable = new UserTable($db); $userTable->insert('Yogui', '4321'); $userTable->insert('mathieu', '4321'); $userTable->insert('BrYs', '4321'); ?><pre><?php print_r($userTable->selectAll()); ?>
Merci…
Partager