82 {
84 'items' => array(),
85 'cnt' => 0
86 );
87
94
96 if (!is_numeric(
$params[
'limit'])) {
97 throw new InvalidArgumentException('Please provide a valid numerical limit.');
98 }
99
100 if (!isset(
$params[
'offset'])) {
102 } elseif (!is_numeric(
$params[
'offset'])) {
103 throw new InvalidArgumentException('Please provide a valid numerical offset.');
104 }
105
107 }
108
109 $where = strlen($where) ? 'WHERE ' . $where : '';
110 $query =
"SELECT {$select} FROM {$from} {$where}";
111
112 if (strlen($group)) {
113 $query .=
" GROUP BY {$group}";
114 }
115
116 if (strlen($having)) {
117 $query .=
" HAVING {$having}";
118 }
119
120 if (strlen($order)) {
121 $query .=
" ORDER BY {$order}";
122 }
123
125 while (
$row = $this->db->fetchAssoc(
$res)) {
127 }
128
130 $cnt_sql = "SELECT COUNT(*) cnt FROM ({$query}) subquery";
131 $row_cnt = $this->db->fetchAssoc($this->db->query($cnt_sql));
132 $data[
'cnt'] = $row_cnt[
'cnt'];
133 }
134
136 }
getWherePart(array $params, array $filter)
getOrderByPart(array $params, array $filter)
getSelectPart(array $params, array $filter)
getGroupByPart(array $params, array $filter)
getFromPart(array $params, array $filter)
getHavingPart(array $params, array $filter)
foreach($_POST as $key=> $value) $res