no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | developpement:base_de_donnee_ancienne_methode [2014/03/22 16:04] (Version actuelle) – créée dany | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====Ancienne méthode (non recommandée)==== | ||
+ | |||
+ | On avait commencé ainsi, on générait le fichier php à une table grâce à un script (dans phpcompta/ | ||
+ | |||
+ | Les colonnes de la table sont dans un tableau et déclaré comme variable privée. Ce point est important. Cela oblige à utiliser les setters/ | ||
+ | |||
+ | Cependant, je préfère souvent utiliser les commandes SQL plutôt que de passer par les objets. D' | ||
+ | |||
+ | <code php> | ||
+ | class Todo_List | ||
+ | { | ||
+ | |||
+ | private static $variable=array( | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | private $cn; | ||
+ | private | ||
+ | |||
+ | function __construct ($p_init) { | ||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Ici voici, des setters / getters génériques, | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | |||
+ | public function get_parameter($p_string) { | ||
+ | if ( array_key_exists($p_string, | ||
+ | $idx=self:: | ||
+ | return $this-> | ||
+ | } | ||
+ | else | ||
+ | exit (__FILE__.":" | ||
+ | } | ||
+ | public function set_parameter($p_string, | ||
+ | if ( array_key_exists($p_string, | ||
+ | $idx=self:: | ||
+ | if ($this-> | ||
+ | } | ||
+ | else | ||
+ | exit (__FILE__.":" | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | Ceci est la fonction qui contrôle que les données sont valides. Cela pourrait aussi être fait dans la base de données, soit avec des contrôles d' | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | |||
+ | public function check($p_idx,& | ||
+ | if ( strcmp ($p_idx, ' | ||
+ | if ( strcmp ($p_idx, ' | ||
+ | if ( strcmp ($p_idx, ' | ||
+ | $p_value=substr($p_value, | ||
+ | return true; | ||
+ | } | ||
+ | if ( strcmp ($p_idx, ' | ||
+ | return true; | ||
+ | } | ||
+ | </ | ||
+ | Enfin la fonction save, qui permet soit d' | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | public function save() { | ||
+ | if ( $this-> | ||
+ | $this-> | ||
+ | else | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | public function insert() { | ||
+ | if ( $this-> | ||
+ | |||
+ | $sql=" | ||
+ | " values (to_date($1,' | ||
+ | $res=ExecSqlParam($this-> | ||
+ | $sql, | ||
+ | array($this-> | ||
+ | | ||
+ | | ||
+ | | ||
+ | ); | ||
+ | $this-> | ||
+ | | ||
+ | } | ||
+ | public function update() { | ||
+ | if ( $this-> | ||
+ | |||
+ | $sql=" | ||
+ | " where tl_id = $4"; | ||
+ | $res=ExecSqlParam($this-> | ||
+ | $sql, | ||
+ | array($this-> | ||
+ | | ||
+ | | ||
+ | | ||
+ | ); | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | Comme cette partie est vraiment répétitive et change peu, j'ai mis au point un script (dev/ | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | static function test_me() { | ||
+ | $cn=DbConnect(dossier:: | ||
+ | $r=new Todo_List($cn); | ||
+ | $r-> | ||
+ | $r-> | ||
+ | $r-> | ||
+ | $r-> | ||
+ | $r-> | ||
+ | $r-> | ||
+ | print_r($r); | ||
+ | $r-> | ||
+ | $r-> | ||
+ | print_r($r); | ||
+ | $r-> | ||
+ | $r-> | ||
+ | } | ||
+ | public function get_info() { | ||
+ | return var_export(self:: | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||