3 class mw_data_crud extends mw_data{
5 # ----------------------------------------------------------------------------------------
9 function data_insert($params = array()){
10 $sgbd = $this->sgbd();
11 $table_name = isset($params["table_name"]) ? $params["table_name"] : "";
12 if(!$table_name) return false;
13 $values = (isset($params["values"]) && is_array($params["values"])) ? $params["values"] : false;
14 if(!$values) return false;
15 $return_insert_id = isset($params["return_insert_id"]) ? $params["return_insert_id"] : false;
16 $attributs_names = "";
17 $attributs_values = "";
18 foreach($values as $attribut_name => $attribut_value){
19 $attributs_names .= ($attributs_names ? ", " : "")."`".$attribut_name."`";
20 $attributs_values .= ($attributs_values ? ", " : "").$this->eq($attribut_value);
22 $attributs_names = $attributs_names ? "(".$attributs_names.")" : "";
23 $attributs_values = $attributs_values ? " VALUES (".$attributs_names.")" : "";
25 $sgbd->query("INSERT INTO `#--".$table_name."`".$attributs_names.$attributs_values);
26 $res = $return_insert_id ? $sgbd->insert_id() : true;
28 catch(Exception $e) { $res = false; }
32 # ----------------------------------------------------------------------------------------
36 function data_read($params = array()){
37 $sgbd = $this->sgbd();
38 $table_name = isset($params["table_name"]) ? $params["table_name"] : "";
39 $index_name = isset($params[""]) ? $params["index_name"] : "";
40 $index_value = isset($params[""]) ? $params["index_value"] : "";
41 if(!$table_name || !$index_name || !$index_value) return false;
44 $sql = "SELECT * from `#--".$table_name."` WHERE `".$index_name."`=".$this->eq($index_value)." LIMIT 1";
45 $rst = $sgbd->query($sql);
46 if($v_rst = $sgbd->fetch_assoc($rst)) $item = $v_rst;
47 $sgbd->free_result($rst);
49 catch(Exception $e) { $item = false; }
53 # ----------------------------------------------------------------------------------------
57 function data_list($params = array()){
58 $sgbd = $this->sgbd();
59 $table_name = isset($params["table_name"]) ? $params["table_name"] : "";
60 if(!$table_name) return false;
61 $index_name = isset($params["index_name"]) ? $params["table_index"] : "";
62 $select = "SELECT `#--".$table_name."`.*";
63 $from = " FROM `#--".$table_name."`";
64 $where = isset($params["where"]) ? " WHERE ".$params["where"] : "";
65 $order = isset($params["order_by"]) ?
66 " ORDER BY ".$params["order_by"].(isset($params["order"]) ? " ".$params["order"] : "")
68 $limit = isset($params["limit"]) ?
69 " LIMIT ".$params["limit"].(isset($params["offset"]) ? " OFFSET ".$params["offset"] : "")
71 $list = array("list" => array(), "total" => 0);
73 $sql = "SELECT count(*) as n FROM(".$select.$from.$where.") res";
74 $rst = $sgbd->query($sql);
75 if($v_rst = $sgbd->fetch_assoc($rst)) $list["total"] = $v_rst["n"];
76 $sgbd->free_result($rst);
77 if($list["total"] > 0){
78 $sql = "SELECT * FROM(".$select.$from.$where.$order.$limit.") res";
79 $rst = $sgbd->query($sql);
80 while($v_rst = $sgbd->fetch_assoc($rst)){
81 if($index_name) $list["list"][$v_rst[$index_name]] = $v_rst;
82 else $list["list"][] = $v_rst;
84 $sgbd->free_result($rst);
87 catch(Exception $e) { $list = false; }
91 # ----------------------------------------------------------------------------------------
95 function data_update($params = array()){
96 $sgbd = $this->sgbd();
97 $table_name = isset($params["table_name"]) ? $params["table_name"] : false;
98 $values = (isset($params["values"]) && is_array($params["values"])) ? $params["values"] : false;
99 $index_name = isset($params[""]) ? $params["index_name"] : false;
100 $index_value = isset($params[""]) ? $params["index_value"] : false;
101 if(!$table_name || !$index_name || !$index_value || !$values) return false;
103 $sql = "UPDATE `#--".$table_name."`";
105 foreach($values as $attribut_name => $attribut_value){
106 $set .= ($set ? ", " : "")."`".$attribut_name."`=".$this->eq($attribut_value);
108 $set = $set ? " SET ".$set : "";
109 $where = " WHERE `".$index_name."`=".$this->eq($index_value);
112 catch(Exception $e) { return false; }
116 # ----------------------------------------------------------------------------------------
120 function data_delete($params = array()){
121 $sgbd = $this->sgbd();
123 $sql = "DELETE FROM `#--".$table_name."` WHERE `".$index_name."`=".$this->eq($index_value);
126 catch(Exception $e) { return false; }