使用说明:引入DatePicker文件夹到Public目录,并在script脚本引入是写好相对路径。
<script language="javascript" type="text/javascript" src="__PUBLIC__/DatePicker/WdatePicker.js"></script><!--时间选择器-->
<select name="status" id="disabledSelect" class="form-control">
<option <eq name="status" value="0">selected</eq> value="0">-请选择-</option>
<option <eq name="status" value="1">selected</eq> value="1">完成</option>
<option <eq name="status" value="2">selected</eq> value="2">医生拒绝</option>
<option <eq name="status" value="3">selected</eq> value="3">患者取消</option>
</select>
<input name="stime" id="startT" class="form-control" type="text" placeholder="下单时间段 " onClick="WdatePicker()" value="{$cond['stime']}"/>
<input name="etime" id="endT" class="form-control" type="text" placeholder="下单时间段" onClick="WdatePicker()" value="{$cond['etime']}"/>
<input class="form-control btn-primary" type="submit" value="筛选" />
<!--分页-->
<span style="margin-right: 20px;">
<span style="float: left;">共{$cond['count']}条</span>
<select id="page" οnchange="page($(this).val())">
<for start="0" end="$cond['pageCount']">
<option value="{$i+1}" <eq name="cond['page']" value="{$i+1}">selected</eq>>{$i+1}</option>
</for>
</select>
</span>
js脚本代码
function page(p){
var status=$("select[name='status']").val();
var stime=$("input[name='stime']").val();
var etime=$("input[name='etime']").val();
var str='';
if(status!='') str+='&status='+status;
if(stime!='' && etime!='')str+='&stime='+stime+'&etime='+etime;
window.location.href="__CONTROLLER__/orderList&page="+p+str;
}
方法放在function.php中,控制器调用$sql=SearchForPage_Key($sql,null,'order_time','order_time',$other,'order_time');
并用 $this->cond=$sql; 将搜索条件分配回页面
<pre name="code" class="php">/**
* MySQL通用条件搜索方法
*
*主SQL FROM要大小(子查询要小写)
* @param I('keyword')
* @param I('stime')
* @param I('etime')
* @param I('page')
* @param C('pageSize')或在这里注明
* ==========================
* @param $sql 主搜索语句
* @param $kwField 关键字
* @param $sTField 开始时间
* @param $eDField 结束时间
* @param $other 其他条件(sql语句)
* @param $is_page 是否分页,默认$is_page=1 开启分页
*
* @return $sql array('sql'=>$sql,'count'=>$count,'pageCount'=>$pageCount,'page'=>$p,'keyword'=>$keyword,'stime'=>$stime,'etime'=>$etime);
*/
function SearchForPage_Key($sql,$kwField,$sTField,$eDField,$other=null,$orderByField,$is_page=1){
//关键字
$keyword=I('keyword');
if(!empty($keyword)) $sql="$sql AND $kwField like '%".trim($keyword)."%'";
//时间段
$stime=I('stime');
$etime=I('etime');
if(!empty($stime) && !empty($etime)) $sql="$sql AND ($sTField>='$stime' AND $eDField<='$etime' )";
//其他
if($other) $sql="$sql $other";
//排序
if($orderByField) $sql="$sql order by $orderByField desc";
//分页
if($is_page){
//数据条数
$cond=strstr($sql,'FROM');
$countSql="select count(*) as c $cond";//截取主语句中From之后
$count=M()->query($countSql);
if(!empty($count['c'])){
$count=$count['c'];
}else{
$count=$count[0]['c'];
}
$pageSize= 10;
$p=I('page');
if($p==null || $p<1) $p=1;
$pageCount=ceil(($count/$pageSize));
if(!$pageCount)$pageCount=1;
if($pageCount<$p){
echo "pc:$pageCount|count:$count|p:$p";
request_result(0, '暂无更多信息', 0);
}
$start=($p-1)*$pageSize;
$sql="$sql limit $start,$pageSize";
}
if(!$count) $count=0;
return array('sql'=>$sql,'count'=>$count,'pageCount'=>$pageCount,'page'=>$p,'keyword'=>$keyword,'stime'=>$stime,'etime'=>$etime);
}