field; $value = $filter->value; $compare = isset($filter->comparison) ? $filter->comparison : null; $filterType = $filter->type; } else { $field = $filter['field']; $value = $filter['data']['value']; $compare = isset($filter['data']['comparison']) ? $filter['data']['comparison'] : null; $filterType = $filter['data']['type']; } switch($filterType){ case 'string' : $qs .= " AND ".$field." LIKE '%".$value."%'"; Break; case 'list' : if (strstr($value,',')){ $fi = explode(',',$value); for ($q=0;$q ".$value; Break; } Break; case 'date' : switch ($compare) { case 'eq' : $qs .= " AND ".$field." = '".date('Y-m-d',strtotime($value))."'"; Break; case 'lt' : $qs .= " AND ".$field." < '".date('Y-m-d',strtotime($value))."'"; Break; case 'gt' : $qs .= " AND ".$field." > '".date('Y-m-d',strtotime($value))."'"; Break; } Break; } } $where .= $qs; } // query the database $query = "SELECT * FROM demo WHERE ".$where; if ($sort != "") { $query .= " ORDER BY ".$sort." ".$dir; } $query .= " LIMIT ".$start.",".$count; $rs = mysql_query($query); $total = mysql_query("SELECT COUNT(id) FROM demo WHERE ".$where); $total = mysql_result($total, 0, 0); $arr = array(); while($obj = mysql_fetch_object($rs)) { $arr[] = $obj; } // return response to client echo '{"total":"'.$total.'","data":'.json_encode($arr).'}';