本文主要是介绍PHP[封装]——关键字,时间段,其他条件搜素,排序,分页,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用说明:引入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);
}
这篇关于PHP[封装]——关键字,时间段,其他条件搜素,排序,分页的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!