php中关于 left join 的分页显示

    /*
     * 统计商机搜索总条数信息
     * ftt
     * 2015-11-10 10:13:15
     */
    public function getBusinessCount($btype=‘‘,$buname=‘‘,$sTime=‘‘,$eTime=‘‘){
          $sql = ‘select Count(*) from `admin_business` as b left join `web_user` as w on b.b_mid = w.id left join `admin_advisor` as v on v.s_id = w.adv_id ‘;
        if($btype !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
            $sql .= $AOR.‘ b.b_type=‘.$btype;
        }
        if($buname !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
            $sql .= $AOR.‘ b.b_uname=‘."‘$buname‘";
        }
        if($sTime !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
            $sql .= $AOR.‘b.b_create_time >=‘."‘$sTime‘";
        }
        if ($eTime !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
             $sql .= $AOR.‘b.b_create_time <=‘."‘$eTime‘";
        }
    $sql  .= ‘ order by b.id  desc‘;
//    echo $sql;
    $data = $this->query($sql);
    return $data?$data->fetch(PDO::FETCH_ASSOC):array();
    }

    /*
     * 用于搜索条件的分页显示
     * ftt
     * 2015年11月10日10:13:46
     */

    public function getBusiness1($btype=‘‘,$buname=‘‘,$sTime=‘‘,$eTime=‘‘,$offset = 0, $limit = 10) {
    $sql = ‘select b.id as bidd,b.b_uname as b_uname,b.b_iphone as b_iphone,b.b_type as b_type,b.b_pro_name as b_pro_name,b.b_searl as b_searl,b.b_orgin as b_orgin,b.b_from as b_from,w.adv_id as adv_id, b.b_create_time as b_create_time from `admin_business` as b left join `web_user` as w on b.b_mid = w.id left join `admin_advisor` as v on v.s_id = w.adv_id ‘;
        if($btype !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
            $sql .= $AOR.‘ b.b_type=‘.$btype;
        }
        if($buname !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
            $sql .= $AOR.‘ b.b_uname=‘."‘$buname‘";
        }
        if($sTime !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
            $sql .= $AOR.‘b.b_create_time >=‘."‘$sTime‘";
        }
        if ($eTime !=‘‘){
            $AOR = $AOR !="" ? ‘ AND ‘ : ‘ WHERE ‘;
             $sql .= $AOR.‘b.b_create_time <=‘."‘$eTime‘";
        }
    $sql  .= ‘ order by b.id  desc  limit  ‘.$offset.‘, ‘.$limit;
    $data = $this->query($sql);
    return $data?$data->fetchAll(PDO::FETCH_ASSOC):array();
    }
}
    /**
     * 列表管理
     */
    public function listsAction() {
        $page_count = 10;
        $Model = new BusinessModel();
        $av = new AdminAdvisorModel();
        $p = $this->_getDataGet[‘p‘] ? intval($this->_getDataGet[‘p‘]) : 1;
        $count = $Model ->countModel(array());

        $parameter = array(
                ‘p‘ => $p
        );

        $page = new Comm_Page($count, $page_count, $parameter);// 实例化分页类 传入总记录数

        $lists =  $Model -> getBusiness(array(), ($p-1)*$page_count , $page_count);
        $lists = $av->getAdvisors($lists);

        $pagesize =$page->show(); //得到分页模板
           foreach($lists as $k=>$v){
               $lists[$k][‘b_type‘] = $this->getTypeDesc($v[‘b_type‘]);
               $lists[$k][‘b_status‘] = $this->getStatusDesc($v[‘b_status‘]);
           }

        $view = $this->getView();
        $view->assign("pagesize", $pagesize);
        $view->assign("lists", $lists);
        $view->assign("action", ‘lists‘);
        $view->display("business/lists.html");
    }

        public function seachListAction() {
        $page_count = 10;
        $Model = new BusinessModel();
        $view = $this->getView();

        $startTime = $this->_getDataGet[‘startTime‘] != ‘开始时间‘? $this->_getDataGet[‘startTime‘]: ‘‘;
        $endTime = $this->_getDataGet[‘endTime‘]!=‘结束时间‘ ? $this->_getDataGet[‘endTime‘]:‘‘;

        $b_uname = $this->_getDataGet[‘b_uname‘]!=‘‘ ? $this->_getDataGet[‘b_uname‘] : ‘‘;
        $b_type = $this->_getDataGet[‘b_type‘];

        /*
         * 用于对数据的返回
         */
        $query[‘startTime‘] = $startTime;
        $query[‘endTime‘] = $endTime;
        $query[‘b_type‘] = $b_type;
        $query[‘b_uname‘] = $b_uname;

//        print_r($query);
        if($this->_getDataGet[‘startTime‘]==‘‘&& $this->_getDataGet[‘endTime‘] ==‘‘ && $this->_getDataGet[‘b_type‘] ==‘all‘ && $this->_getDataGet[‘b_uname‘] ==‘‘ ) {//跳转404
            $url = ‘/index.php/Business/lists‘;
            Comm_Tools::redirect($url);
            exit();
        }

        $p = $this->_getDataGet[‘p‘] ? intval($this->_getDataGet[‘p‘]) : 0;
        $p = $p -1;
        if($b_type == ‘all‘){
            unset($b_type);
        }else{
            $where[‘b_type‘]=$b_type;
            $btype = $b_type;
        }
        if($b_uname != ‘‘){
            $where[‘b_uname‘]=$b_uname;
            $buname = $b_uname;
        }
        if($startTime !=‘‘){$sTime = strtotime($startTime);}
        if($endTime !=‘‘){$eTime = strtotime($endTime);}
        $count = $Model ->getBusinessCount($btype,$buname,$sTime,$eTime);
        $count = $count[‘Count(*)‘];
        $parameter = array(
                ‘startTime‘ => $startTime,
                ‘endTime‘ => $endTime,
                        ‘b_uname‘=>$b_uname,
                        ‘b_type‘=>$btype,
                ‘p‘ => intval($this->_get[‘p‘])
        );
        $page = new Comm_Page($count, $page_count, $parameter);// 实例化分页类 传入总记录数
//        if($p-1 < 0){
//            $p =1;
//            $page_count = $p *10;
//        }else{
//            $page_count =($p-1)*10;
//        }

            $lists =  $Model -> getBusiness1($btype,$buname,$sTime,$eTime,$p *$page_count , $page_count);
            foreach($lists as $k=>$v){
                    $lists[$k][‘b_type‘] = $this->getTypeDesc($v[‘b_type‘]);
                    $lists[$k][‘b_status‘] = $this->getStatusDesc($v[‘b_status‘]);
            }

        $pagesize =$page->show(); //得到分页模板

        $view->assign("lists", $lists);
        $view->assign("pagesize", $pagesize);
        $view->assign("query", $query);
        $view->assign("action", ‘lists‘);
        $view->display("business/lists.html");
    }


    /*
     * 解释业务类型
     * yangsf
     */
     public function getTypeDesc($type){
         $typeArr = [‘0‘=>‘国内商标‘,‘1‘=>‘国际商标‘,‘2‘=>‘商标转让‘,‘3‘=>‘版权‘,‘4‘=>‘专利‘];
         if(in_array($type, range(0, 4))){
             return $typeArr[$type];
         }else{
             return ‘未知业务类型‘;
         }
     }
    <div class="page-content">
        <div class="page-header">
            <h1>
                商机列表
            </h1>
        </div><!-- /.page-header -->

            <form action="/index.php/Business/seachList" method=‘get‘ name=‘searchBusiness‘ >
                    <div  style="display: inline-block; float: left; margin-left:12px;">
                        <select name="b_type" class="selectpicker show-tick" data-size="5" id="s_type" style="height:34px;">
                            <option value="all" <{if ($query[‘b_type‘] == all)}> selected = "selected" <{/if}>>全部业务类型</option>
                          <option value = "0" <{if ($query[‘b_type‘] == ‘0‘)}> selected = "selected" <{/if}>  >国内商标</option>
                          <option value = "1" <{if ($query[‘b_type‘] == ‘1‘)}> selected = "selected" <{/if}>  >国际商标</option>
                          <option value = "2" <{if ($query[‘b_type‘] == ‘2‘)}> selected = "selected" <{/if}>  >商标转让</option>
                          <option value = "3" <{if ($query[‘b_type‘] == ‘3‘)}> selected = "selected" <{/if}>  >版权</option>
                          <option value = "4" <{if ($query[‘b_type‘] == ‘4‘)}> selected = "selected" <{/if}>  >专利</option>
                        </select>
                    </div>

<!--                    <div  style="display: inline-block; float: left; margin-left:12px;">
                        <select name="s_type" class="selectpicker show-tick" data-size="5" id="s_type" style="height:34px;">
                          <option value="">关键词</option>
                          <option value = "1" <{if ($requery[‘s_type‘] == 1)}> selected = "selected" <{/if}>  >订单编号</option>
                          <option value = "2" <{if ($requery[‘s_type‘] == 2)}> selected = "selected" <{/if}>  >顾问</option>
                        </select>
                    </div>  -->

              <div class="input-group bootstrap-timepicker col-xs-2">
                <input type="text" id="timepicker1" name=‘startTime‘ class="form-control date-picker" value = "<{if $query[‘startTime‘]}><{$query[‘startTime‘]}><{else}>开始时间<{/if}>"  onclick="SelectDate(this,‘yyyy-MM-dd hh:mm‘)"  />
                <span class="input-group-addon">
                <i class="icon-time bigger-110"></i>
                </span>
                </div>
                    <div class="input-group bootstrap-timepicker col-xs-2">
                <input id="timepicker2" type="text"  name=‘endTime‘  class="form-control date-picker" value = "<{if $query[‘endTime‘]}><{$query[‘endTime‘]}><{else}>结束时间<{/if}>"  onclick="SelectDate(this,‘yyyy-MM-dd hh:mm‘)"  />
                <span class="input-group-addon">
                <i class="icon-time bigger-110"></i>
                </span>
              </div>
                    <div  style="display: inline-block; float: left; margin-left:12px;">
                        <input type="text" name="b_uname" aria-controls="sample-table-2" <{if $query[‘b_uname‘]}>value="<{$query[‘b_uname‘]}>"<{else}>value=""<{/if}> placeholder="用户名称">
                    </div>
                    <input type="hidden" name=‘p‘ <{if $query[‘p‘]}> value=<{$query[‘p‘]}><{else}> value="1" <{/if}> >
            <div class="col-xs-1">
                <button class="btn btn-purple btn-sm" onclick="search();">搜索
                    <i class="icon-search icon-on-right bigger-110"></i>
                </button>
            </div>  

<!--              <button class="btn btn-purple btn-sm" onclick="search();">查询
                    <i class="icon-search icon-on-right bigger-110"></i>
               </button>-->
         </form>
        </div>
            <div class="col-xs-12">
                <!-- PAGE CONTENT BEGINS -->
                <div class="row">
                    <div class="col-xs-12">
                        <div class="table-responsive">
                            <table id="sample-table-1" class="table table-striped table-bordered table-hover">
                                <thead>
                                <tr>
                                        <th>流水号</th>
                                        <th>用户名称</th>
                                        <th>手机号码</th>
                                        <th>业务类型</th>
                                        <th>商品名称</th>
                                        <th>注册体系</th>
                                        <th>商机来源</th>
                                        <th>状态</th>
                                                    <th>顾问</th>
                                        <th>创建时间</th>
                                </tr>
                                </thead>

                                <{foreach from = $lists item = info1 key=key}>
                                <tr>
                                    <td><{$info1.bidd}></td>
                                    <td style=‘text-align: left; padding-left: 55px‘><b><{$info1.b_uname}></b></td>
                                    <td><{if $info1.b_iphone == ‘‘}> 暂无
                                        <{else}><{$info1.b_iphone}><{/if}></td>
                                    <td><{$info1.b_type}></td>
                                    <td><{$info1.b_pro_name}></td>
                                    <td><{$info1.b_orgin}></td>
                                    <td><{$info1.b_from}></td>
                                    <td><{if $info1.adv_id!=‘‘ }> 已分配<{else}> 未分配 <{/if}></td>
                                                                        <td><{if $info1.adv_id!=‘‘ }> <{$info1.adv_id}><{else}> 暂无 <{/if}> </td>

<!--                                    <td><textarea>
                                           <{$info1.text}>
                                         </textarea>
                                     </td> -->
                                     <td><{$info1.b_create_time|date_format:‘%Y-%m-%d %H:%M:%S‘}></td>
                                </tr>
                                <{/foreach}>

                            </table>
                            <div>
                            <{$pagesize}>
                            </div>
                        </div><!-- /.table-responsive -->
                    </div><!-- /span -->
                </div><!-- /row -->

            </div><!-- /.page-content -->
</div><!-- /.main-content -->
<{include file="admin/footer.html"}>

</body>
</html>
<script>
function search(){
    if($("#timepicker1").val() == "开始时间"){
        $("#timepicker1").val(‘‘);
    }
    if($("#timepicker2").val() == "结束时间"){
        $("#timepicker2").val(‘‘);
    }
}

</script>
<script src="/public/My97DatePicker/WdatePicker.js"></script>
 
时间: 2024-08-22 10:26:48

php中关于 left join 的分页显示的相关文章

分页显示数据----前端(将数据库中的信息分页显示到网页)

在上篇文章中,我们已经完成了分页显示的后台处理,现在进行前端的处理. 期望显示结果: 由于对于不同的项目.不同的数据库数据部分不同,所以我们将分页部分提取出来,单独建立jsp页面: 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ taglib prefix="c"

Django中html里的分页显示

分页一 因为数据量过大,而又想直观便捷的查看数据,进而通过分页显示就可以完成这项工作 app中views.py LIST=[] #全局定义一个LIST for i in range(100): #数据量为100 LIST.append(i) #使LIST里面包含0-99个自然数 def user_list(request): current_page=request.GET.get('p',1) #用户不存在默认看第一页 current_page=int(current_page) #使char

ASP.NET中分页显示

分页详解,ASP.NET书本  "数据空间应用" (1)使用GridView控件分页显示 步奏:1.添加GridView控件 2.将GrideView控件的AllowPaging属性设置为True,表示允许分页  3.将PageSize属性设置一个数字,用来控制每页中显示的记录数 4.最后在GridView控件的PageIndexChanging事件中设置GridView控件的PageIndex属性为当前页的索引值,并重新绑定GridView控件 (2)DataList控件中的数据 u

LigerUI中通过加载服务端数据进行表格的分页显示

前言:我的这一篇文章是紧接着上一篇关于LigerUI的文章(http://www.zifangsky.cn/379.html)写的,因此在这里我就省略了相关的环境搭建,直接进入正题 一 介绍 在LigerUI中显示表格是用的ligerGrid,同时我们可以通过配置url参数就可以加载远程数据并显示成表格形式.不仅如此,ligerGrid还可以进行数据的排序和分页显示: (1)排序:需要用到"sortname"和"sortorder"这两个参数,分别表示按哪个字段排序

Hibernate+Spring+Struts2整合开发中的一个分页显示方案(转载)

分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享交流. 1.DAO层接口的设计,在MemberDao接口中定义了如下两个方法: public interface MemberDao{        //省略了其他的代码        /**     * 分页查询     * @

实现数据在前台动态显示之分页的实现(将DataSet中的数据分页显示)

在实现前台动态显示数据时有多种方法,但使用到将DataSet中的数据分页这一方法时发现很多地方都能用得到,在这里记录一下. /// <summary> /// 分页的实现(将DataSet中的数据分页显示) /// </summary> /// <param name="ds"></param> /// <returns></returns> public DataSet SplitDataSet() { Data

将sharepoint中的跨网站、列表查询的结果用SPGridView分页显示

将sharepoint中的跨网站.列表查询的结果用SPGridView分页显示 2008-12-30 10:14 by Virus-BeautyCode, 1200 阅读, 0 评论, 收藏, 编辑 我是用户控件(也就是ascx控件)写的查询界面和显示结果,然后用QuickPart包装了一下,这样做的好处就是复杂界面可以使用拖动控件来开发,要比写代码来的直观,不足之处就是调试困难,但是昨天我的同事发现了一个调试的好办法,很不错,下一篇我会写出来. 需求是开发一个公司动态发布系统,我将未发布动态,

asp网络编程:ASP中实现分页显示的七种武器

在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的Recordset对象使得控制数据的输出显示更为方便.自由.而在Visual InterDev6.0(以下简称VI6.0)中,由于Script Object Model(以下简称SOM).Design-Time Control(以下简称DTC)以及Data Environment Object Model(以下简称DEOM)等对象模型的引入,使网页对数据库的访问设计显得更为方便. 因为主题方面的原因,关于

分页(将数据库中的信息分页显示到网页)

问题分析: 当我们想检索数据库中的信息并将其显示到网页上时,如果数据库中的信息过多时 .一方面会使数据库开销非常大,降低性能:另一方面在一张页面上显示过多数据也会降低用户体验. 解决办法: 1.由于在分页之后每一页显示的信息不再仅仅是数据空中的数据而是类似于下图: 所以我们需要创建一个page类: package com.neuedu.manage.bean; import java.util.List; public class page <T>{ private List<T>