前端代碼
<!--搜索框開始-->
<form class="form-inline" id="ffSearch">
<div class="content clearfix m-b">
<div class="form-group">
<label class="control-label">下單日期:</label>
<input type="text" name="createtime" class="form-control" id="choose_date" lay-key="11">
</div>
<div class="form-group">
<button class="btn btn-primary" type="button" id="search">
<strong>搜 索</strong>
</button>
</div>
</div>
</form>
對應bootstrap中queryParams參數(shù)代碼
queryParams: function queryParams(params) { //設置查詢參數(shù)
// var param = {
// pageNumber: params.pageNumber,
// pageSize: params.pageSize,
// //temp["sort"] = params.sort; //排序列名
// //temp["sortOrder"] = params.order; //排位命令(desc,asc)
// };
var temp = $("#ffSearch").serializeJsonObject();
params["filter"] = temp;
params["pageNumber"] = (params.offset / params.limit) + 1;
params["pageSize"] = params.limit;
console.log(params);
//params= $.extend(params, temp);
return params;
},
核心處理php方法代碼
/**
* 查詢條件處理
* @param $filter array ["字段名"=>"abc"]
* @param $option array ["字段名"=>["op"=>"條件(like|between|=|eq等)","init"=>function($value){初始化對應的前端過來的值}]]
* @return array
*/
function selectCondition($filter, $option)
{
$where_filter = array_filter($filter);
$option = [
"createtime" => [
'op' => 'between',
'init' => function ($value) {
$stime = strtotime($value . '-01');
$etime = strtotime($value . '-01 +1 month') - 1;
return [$stime, $etime];
}],
];
$where = [];
foreach ($where_filter as $k => $v) {
$where[$k] = [
isset($option[$k]["op"]) ? $option[$k]["op"] : '=',
isset($option[$k]["init"]) ? $option[$k]["init"]($v) : $v,
];
}
return $where;
}
PHP后端樣例代碼 THINKPHP
//查詢某個月份創(chuàng)建的數(shù)據(jù)
$where_filter = [
"createtime"=>'2019-01'
];
$where_option = [
"createtime" => [
'op' => 'between',
'init' => function ($value) {
$stime = strtotime($value . '-01');
$etime = strtotime($value . '-01 +1 month') - 1;
return [$stime, $etime];
}],
];
$where=selectCondition($where_filter,$where_option);
$list=PartnerLogMoney::where($where)->select();