📄 grid-filter.php
字号:
<?phpmysql_pconnect("localhost", "demo", "") or die("Could not connect");mysql_select_db("demo") or die("Could not select database");$start = ($_REQUEST["start"] == null)? 0 : $_REQUEST["start"];$count = ($_REQUEST["limit"] == null)? 20 : $_REQUEST["limit"];$sort = ($_REQUEST["sort"] == null)? "" : $_REQUEST["sort"];$dir = ($_REQUEST["dir"] == "desc")? "DESC" : "";$filter = $_REQUEST["filter"];$where = " 0 = 0 ";if (is_array($filter)) { for ($i=0;$i<count($filter);$i++){ switch($filter[$i]['data']['type']){ case 'string' : $qs .= " AND ".$filter[$i]['field']." LIKE '%".$filter[$i]['data']['value']."%'"; Break; case 'list' : if (strstr($filter[$i]['data']['value'],',')){ $fi = explode(',',$filter[$i]['data']['value']); for ($q=0;$q<count($fi);$q++){ $fi[$q] = "'".$fi[$q]."'"; } $filter[$i]['data']['value'] = implode(',',$fi); $qs .= " AND ".$filter[$i]['field']." IN (".$filter[$i]['data']['value'].")"; }else{ $qs .= " AND ".$filter[$i]['field']." = '".$filter[$i]['data']['value']."'"; } Break; case 'boolean' : $qs .= " AND ".$filter[$i]['field']." = ".($filter[$i]['data']['value']); Break; case 'numeric' : switch ($filter[$i]['data']['comparison']) { case 'eq' : $qs .= " AND ".$filter[$i]['field']." = ".$filter[$i]['data']['value']; Break; case 'lt' : $qs .= " AND ".$filter[$i]['field']." < ".$filter[$i]['data']['value']; Break; case 'gt' : $qs .= " AND ".$filter[$i]['field']." > ".$filter[$i]['data']['value']; Break; } Break; case 'date' : switch ($filter[$i]['data']['comparison']) { case 'eq' : $qs .= " AND ".$filter[$i]['field']." = '".date('Y-m-d',strtotime($filter[$i]['data']['value']))."'"; Break; case 'lt' : $qs .= " AND ".$filter[$i]['field']." < '".date('Y-m-d',strtotime($filter[$i]['data']['value']))."'"; Break; case 'gt' : $qs .= " AND ".$filter[$i]['field']." > '".date('Y-m-d',strtotime($filter[$i]['data']['value']))."'"; Break; } Break; } } $where .= $qs;}$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;}echo '{"total":"'.$total.'","data":'.json_encode($arr).'}';?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -