grid-filter.php

来自「一个struts和extjs得源码」· PHP 代码 · 共 64 行

PHP
64
字号
<?phpmysql_pconnect("localhost", "root", "") 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 + =
减小字号Ctrl + -
显示快捷键?