X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775:/examples/grid-filtering/grid-filter.php?ds=sidebyside diff --git a/examples/grid-filtering/grid-filter.php b/examples/grid-filtering/grid-filter.php new file mode 100644 index 00000000..aa8331f2 --- /dev/null +++ b/examples/grid-filtering/grid-filter.php @@ -0,0 +1,101 @@ +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).'}'; \ No newline at end of file