zoukankan      html  css  js  c++  java
  • thinkphp5 列表页数据分页查询3-带搜索条件

    先加载模板然后在前端HTML页面请求数据

    /**
         * 加载列表页模板
         * @author 冯广福
         */
        public function index()
        {
            LogWriteService::write('任务中心', '查看任务模板','查看');
            $view = new View();
            return $view->fetch();
        }
    
        /**
         * 渲染列表页数据
         * @author fgf <2018-01-24 10:07:00>
         */
        public function index2()
        {
            $index = $_POST['index'];
            $pagenum = $_POST['pagenum']; // 一页显示多少个
            $index = ($index - 1) * $pagenum;
            $keyname = $_POST['keyname'];
            $begintime = $_POST['begintime'];
            $endtime = $_POST['endtime'];
    
            /*拼接搜索条件*/
            $map = array();
            /*时间段--搜索条件*/
            if ($begintime) {
                $begintime = $begintime . ' 00:00:01';
                $endtime = $endtime . ' 23:59:59';
                $map['a.addtime'] = ['between', [$begintime, $endtime]];
            }
            /*资产类型--搜索条件*/
            if ($keyname) {
                $map['a.template_name'] = ['like', "%" . $keyname . "%"];
            }
            /*查询列表数据*/
            $list = Db::table('fc_template_name')->alias('a')
                    ->field('a.*,t.tasktype,c.cycle,c.num')
                    ->join('fc_tasktype t', 't.id=a.tasktype_id', 'left')
                    ->join('fc_task_cycle c', 'c.id=a.taskcycle_id', 'left')
                    ->where($map)
                    ->order('a.id asc')
                    ->limit($index, $pagenum)
                    ->select();
            //统计总条数
            $count = Db::table('fc_template_name')->alias('a')
                ->where($map)
                ->count();
    
            echo json_encode(array($list, $count));
        }

    HTML页面代码

    /**
         * 搜索
         * @author fgf <2018-01-24 09:57:00>
         */
        function  btn_search() {
            index2(1);
        }
    
        /**
         * 请求列表数据
         * @author fgf <2018-01-24 09:58:00>
         */
        var serialnum = '';
        index2(1); // 默认执行获取数据
        function index2(index){
            var p = 0;
            var pagenum = 10;
            var keyname = $('#keyname').val();
            var begintime = $('#begintime').val();
            var endtime = $('#endtime').val();
            $.ajax({
                url: "{:url('Tasktemplate/index2')}",
                type: 'POST',
                data:{
                    index:index,
                    pagenum:pagenum,
                    keyname:keyname,
                    begintime:begintime,
                    endtime:endtime,
                },
                async: false,
                dataType:'json',
                success: function (data) {
                    // console.log(data);
                    var html = '';
                    p = data[1];
                    for(var i=0;i<data[0].length;i++){
                        html += '<tr><td style="text-align:center;">';
                        html += '<input class="list-check-box" type="checkbox" value="'+data[0][i].id+'" name="brandid"/></td>';
                        html += '<td style="text-align:center;">'+(++serialnum)+'</td>';
                        html += '<td style="text-align:center;">'+data[0][i].template_name+'</td>';
                        if(data[0][i].tasktype){
                            html += '<td style="text-align:center;">'+data[0][i].tasktype+'</td>';
                        }else{
                            html += '<td style="text-align:center;">'+'暂无'+'</td>';
                        }
                        if (data[0][i].cycle) {
                            if(data[0][i].num !=0){
                                html += '<td style="text-align:center;">'+data[0][i].num+data[0][i].cycle+'</td>';
                            }else{
                                html += '<td style="text-align:center;">'+data[0][i].cycle+'</td>';
                            }
                        }else{
                            html += '<td style="text-align:center;">'+'暂无'+'</td>';
                        }
                        if (data[0][i].tips) {
                            html += '<td style="text-align:center;">'+data[0][i].tips+'</td>';
                        }else{
                            html += '<td style="text-align:center;">'+'暂无'+'</td>';
                        }
                        if (data[0][i].prize) {
                            html += '<td style="text-align:center;">'+data[0][i].prize+'</td>';
                        }else{
                            html += '<td style="text-align:center;">'+'暂无'+'</td>';
                        }
                        if (data[0][i].starttime) {
                            html += '<td style="text-align:center;">'+data[0][i].starttime+'</td>';
                        }else{
                            html += '<td style="text-align:center;">'+'暂无'+'</td>';
                        }
                        if (data[0][i].endtime) {
                            html += '<td style="text-align:center;">'+data[0][i].endtime+'</td>';
                        }else{
                            html += '<td style="text-align:center;">'+'暂无'+'</td>';
                        }
                        html += '<td style="text-align:center;">';
                        html += '<a><span onclick="openRightBox(3,'+data[0][i].id+')" class="ht_arrow">修改</span></a>';
                        html += '<span class="text-explode">|</span>';
                        html += '<span><a style="color:red;" href="javascript:void(0)" data-update="'+ data[0][i].id +'" data-field="delete" data-action="{:url("tasktemplate/del")}">删除</a></span>';
                        html += '</td><td style="text-align:center;">';
                        html += '<i style="color: #989898;" title="详情" class="layui-icon ht_arrow" onclick="openRightBox(2,'+data[0][i].id+')">&#xe602;</i></td></tr>';
                    }
                    $('#list').html(html);
                    $('#countnum').text('总共'+p+'项');
                    if(p>10){
                        $("#countnum").show()
                    }else{
                        $("#countnum").hide()
                    }
                    window.form.render();
                }
            });
            if(index != 1){
                return;
            }
            var num = Math.ceil(p/pagenum);
            layui.use(['laypage', 'layer'], function(){
                var laypage = layui.laypage;
                laypage({
                    cont: 'page1'
                    ,pages: num //总页数
                    ,groups: 5 //连续显示分页数
                    ,skip: true
                    ,skin: '#1E9FFF'
                    ,jump: function(obj, first) {
                        //得到了当前页,用于向服务端请求对应数据
                        var curr = obj.curr;
                        serialnum = curr - 1;
                        if(serialnum>0){
                            serialnum = serialnum*10;
                        }
                        if ( !first ) {
                            index2(curr)
                        }
                    }
                });
            });
        }
  • 相关阅读:
    数据类型转换(日期格式转换)
    TextArea控件实时计算总字数,总行数,和每行显示的最大字数
    Java--->判断IP和端口是否可连接
    JavaFX校验IP和端口的合法性
    JavaFX与NetBeans开发工具的一些总结
    Web Service深度剖析
    Spring中AOP和IOC深入理解
    Spring aspect 两种方式实现五种增强
    Struts2错题总结
    Hibernate检索方式和Criteria查询的讲解
  • 原文地址:https://www.cnblogs.com/clubs/p/9077534.html
Copyright © 2011-2022 走看看