3 require "persistance.php";
5 class SqlCode
implements sql
, persistance
12 function __construct($code)
15 $this->date
= date('c');
16 $this->id
= 'md5:'. md5($this->code
);
19 public static function get_table_name()
24 public static function sql_select($options = NULL)
26 $table = self
::get_table_name();
27 $query = "select id, code, date from $table $options";
31 function toSQLselect()
33 $table = $this->get_table_name();
35 $query = "select id, code, date from $table where id='$id'";
39 function toSQLinsert()
41 $table = $this->get_table_name();
45 $query = "insert into $table (id, code, date) values ('$id', '$code', '$date')";
49 static function set_db($db)
51 if ($db instanceof PDO
) {
55 self
::$db =& new PDO($db);
57 self
::$db =& new PDO($db, $user, $password);
60 self
::$db->setAttribute(PDO
::ATTR_ERRMODE
, PDO
::ERRMODE_EXCEPTION
);
65 static function select($options = NULL, $db = NULL)
67 if (!$db) $db =& self
::$db;
68 $query = self
::sql_select($options);
69 $result = $db->query($query);
71 foreach ($result as $r) {
72 $s = new SqlCode($r['code']);
74 $s->date
= $r['date'];
80 function save($db = NULL)
82 if (!$db) $db =& self
::$db;
83 $query = $this->toSQLinsert();
85 $table = self
::get_table_name();
88 } catch (PDOException
$e) {
89 if ($db->errorCode() == "23000") { // l'id existe dans la table
90 $db->exec("delete from $table where id='$id'");