Bonjour,
je me mets au MVC POO et dans mon modèle général, je vais créer toutes les fonctions dont l'utilité est redondante à travers mon application.
Elle est d'être finie évidement mais je prends le problème au cas par cas.
Avec mon code ci-dessous, je désire créer un condition pour binder certaines données. Est possible avec le code créé ? Ou je dois crée une autre fonction.
J'estime que cela ne sert à rien de binder toutes les données quand elles ne viennent pas d'un formulaire. Je me trompe ou je m'y prends comme un pied?
Code php : 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
33
34
35
36
37
38
39
40 class model{ private $fields = '*'; private $table = ''; private $where = ''; private $and = ''; private $limit = ''; private $order = ''; private $order_direction = 'DESC'; private $stmt; private $d = array(); public function getExecute(){ return $this->stmt->execute(); } public function find($data = array()){ if(isset($data['fields'])){ $this->fields = $data['fields']; } $this->table = $data['table']; if(isset($data['where'])){ $this->where = ' WHERE '.$data['where']; } if(isset($data['and'])){ $this->and = ' AND '.$data['and']; } if(isset($data['limit'])){ $this->limit = ' LIMIT '.$data['limit']; } if(isset($data['order'])){ $this->order = ' ORDER BY '.$data['order'].' '.$order_direction; } $this->stmt = Db::getInstance()->prepare('SELECT '.$this->fields.' FROM '.$this->table.$this->where. $this->and.$this->order.$this->limit.''); $this->getExecute(); return $this->stmt->fetchAll(PDO::FETCH_OBJ); } }
Exemple de requête
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $model = new model(); $sql = $model->find(array( 'table'=>'users', 'where'=>'u_login="admin"' // donnée brute mais sera bindé )); foreach($sql as $row): echo $row->u_login.' - '.$row->u_id_level.'<br>'; endforeach;
Merci d'avance de vos réponses.
David
Partager