太阳成游戏网站

联系官方销售客服

QQ1835022299

028-61286886

分享经验 版主:论坛审计组
基于layUI动态数据表格
类型:太阳成游戏网站CMS 更新时间:2025-04-23 23:11:49

基于layUI动态数据表格。创建后台控制台数据统计。并添加分页以及查询

PS:这种写法就是典型的api接口,不会写接口的看完了就知道怎么去写接口,需要的可以收藏保存哦,制作不易需要的大大们稍微打赏一下,支持一下小弟,后面会放更多干货,您的支持就是我的动力,顺便推广一下我的火车头插件哈哈/shop/app/529.html,需要的可以去插件商城下载,有问题随时找我,知无不言。

image

image

image


第一步:创建插件

创建插件必须的几个文件为

/dayrui/App/插件目录/Config/App.php

/dayrui/App/插件目录/Config/Version.php

可以先用开发者工具插件去创建一个应用控制器然后讲这两个文件加入进去,这样插件就创建完成

app.php代码
 'app',
    'name' => '学员信息统计',
    'icon' => 'fa fa-bar-chart-o (alias)',
    'author' => '琉惗', // 作者名字
];

Version.php代码
 '399',
    'version' => '2.1.1',
    'license' => '',
    'updatetime' => '2020-02-17',
    'downtime' => '2020-02-17',
];

第二步,创建后台面板文件,具体操作方法请查看手册/doc/719.html

第三步,在模版文件中使用layui创建表格,代码如下





    
        
            
                
                学生数据统计
            
        
                                                           总数据                     
  • 客户统计
  •                                                                                                     
                                                                              客户名称:                                                                                                                                        {linkage code=client}                                         {$t.name}                                     {/linkage}                                                              
                                搜索                         
                                                 
                    
                              

    第四步,写后台逻辑代码,并将数据进行返回

    public function statistic() {
            $data = \Phpcmf\Service::M()->db->table(SITE_ID.'_student')
                ->select('inputtime,enroll')
                ->get()->getResultArray();
    
            $total = count($data);
    
            $day = count(\Phpcmf\Service::M()->db->table(SITE_ID.'_student')
                ->select('inputtime,enroll')
                ->where('DATEDIFF(from_unixtime(inputtime),now())=0')
                ->get()->getResultArray());
    
            $enroll = count(\Phpcmf\Service::M()->db->table(SITE_ID.'_student')
                ->select('enroll')
                ->where('enroll', 1)
                ->get()->getResultArray());
    
            $enroll_no = count(\Phpcmf\Service::M()->db->table(SITE_ID.'_student')
                ->select('enroll')
                ->where('enroll', 0)
                ->get()->getResultArray());
    
            return json_encode([
                'code' => 0,
                'msg' => '',
                'count' => $total,
                'data' => [
                        [
                        'total' => $total,
                        'day' => $day,
                        'enroll' => $enroll,
                        'enroll_no' => $enroll_no
                    ]
                ]
            ]);
        }
    
        public function client() {
    	    $page = $this->request->getGet('page');
    	    $size = $this->request->getGet('limit');
    	    $keyword = $this->request->getGet('key');
    	    if(empty($keyword['name'])) {
               $where = '';
                $total = count(\Phpcmf\Service::M()->db->query('SELECT a.id as clientid, a.name as clientname, b.id as schoolid, b.name as schoolname, b.childids as schoolchildids, b.class as schoolclass FROM info_linkage_data_5 a INNER JOIN info_linkage_data_3 b ON b.pid = 0')->getResultArray());
            }else{
                $where = ' AND a.id = '.$keyword['name'];
                $total = count(\Phpcmf\Service::M()->db->query('SELECT a.id as clientid, a.name as clientname, b.id as schoolid, b.name as schoolname, b.childids as schoolchildids, b.class as schoolclass FROM info_linkage_data_5 a INNER JOIN info_linkage_data_3 b ON b.pid = 0'.$where)->getResultArray());
            }
    
    	    $up = ($page-1)*$size;
    
            $array_info = \Phpcmf\Service::M()->db->query('SELECT a.id as clientid, a.name as clientname, b.id as schoolid, b.name as schoolname, b.childids as schoolchildids, b.class as schoolclass FROM info_linkage_data_5 a INNER JOIN info_linkage_data_3 b ON b.pid = 0'.$where.' ORDER BY clientid asc,b.displayorder ASC limit '.$up.','.$size.'')->getResultArray();
    
            foreach($array_info as $key => $arr_in) {
                $data[$key]['school'] = $arr_in['schoolname'];
                $data[$key]['name'] = $arr_in['clientname'];
    
                $data[$key]['enter'] = count(\Phpcmf\Service::M()->db->table(SITE_ID . '_student')
                    ->select('client')
                    ->where('client', $arr_in['clientid'])
                    ->where('school in ('.$arr_in['schoolchildids'].')')
                    ->get()->getResultArray());
    
                $data[$key]['day'] = count(\Phpcmf\Service::M()->db->table(SITE_ID.'_student')
                    ->select('inputtime')
                    ->where('client', $arr_in['clientid'])
                    ->where('school in ('.$arr_in['schoolchildids'].')')
                    ->where('DATEDIFF(from_unixtime(inputtime),now())=0')
                    ->get()->getResultArray());
    
                $data[$key]['inschool'] = count(\Phpcmf\Service::M()->db->table(SITE_ID . '_student')
                    ->select('client')
                    ->where('client', $arr_in['clientid'])
                    ->where('school in ('.$arr_in['schoolchildids'].')')
                    ->where('inschool', 0)
                    ->get()->getResultArray());
    
                $data[$key]['outschool'] = count(\Phpcmf\Service::M()->db->table(SITE_ID . '_student')
                    ->select('client')
                    ->where('client', $arr_in['clientid'])
                    ->where('school in ('.$arr_in['schoolchildids'].')')
                    ->where('inschool', 2)
                    ->get()->getResultArray());
    
                $data[$key]['graduate'] = count(\Phpcmf\Service::M()->db->table(SITE_ID . '_student')
                    ->select('client')
                    ->where('client', $arr_in['clientid'])
                    ->where('school in ('.$arr_in['schoolchildids'].')')
                    ->where('inschool', 1)
                    ->get()->getResultArray());
    
                $data[$key]['specialist'] = count(\Phpcmf\Service::M()->db->query('SELECT a.id,b.name,b.class FROM info_'.SITE_ID.'_student a INNER JOIN info_linkage_data_3 b ON a.client = '.$arr_in['clientid'].' AND a.school = b.id AND a.school IN ('.$arr_in['schoolchildids'].') AND b.class = 2')->getResultArray());
    
                $data[$key]['undergraduate'] = count(\Phpcmf\Service::M()->db->query('SELECT a.id,b.name,b.class FROM info_'.SITE_ID.'_student a INNER JOIN info_linkage_data_3 b ON a.client = '.$arr_in['clientid'].' AND a.school = b.id AND a.school IN ('.$arr_in['schoolchildids'].') AND b.class = 1')->getResultArray());
    
                $data[$key]['enroll'] = count(\Phpcmf\Service::M()->db->table(SITE_ID . '_student')
                    ->select('client')
                    ->where('client', $arr_in['clientid'])
                    ->where('school in ('.$arr_in['schoolchildids'].')')
                    ->where('enroll', 1)
                    ->get()->getResultArray());
    
                $data[$key]['noenroll'] = count(\Phpcmf\Service::M()->db->table(SITE_ID . '_student')
                    ->select('client')
                    ->where('client', $arr_in['clientid'])
                    ->where('school in ('.$arr_in['schoolchildids'].')')
                    ->where('enroll', 0)
                    ->get()->getResultArray());
            }
    
    
            return json_encode([
                'code' => 0,
                'msg' => '',
                'count' => $total,
                'data' => $data
            ]);
        }

    PS:具体接口数据格式如下图所示,是一个二维数组转化成的json数据

    image

    image

    回帖
    • 琉惗
      #1楼    琉惗
      2020-02-26 02:28:29
      Chrome 0
      • 火车头采集器

        火车头采集器,即装即用,支持所有模块,多文件采集,默认news模块,可以发布独立模块以及...

      推广一下个人火车头采集插件,多模块,多文件,随机用户发布,支持本地以及七牛云等远程附件上传,开箱即用,需要的可以关注一下
    • 繁星
      #2楼    繁星
      2020-02-26 23:17:23
      Chrome 0
      牛逼!!!
    • 昱宇
      #3楼    昱宇
      2020-02-27 09:28:08
      Chrome 0
      好东东
    • 黄老邪
      #4楼    黄老邪
      2020-02-28 12:55:32
      Chrome 0
      学习下下
    • yunshui2011
      #5楼    yunshui2011
      2020-03-04 11:38:53
      Chrome 0
      可以先用开发者工具插件去创建一个应用控制器然后讲这两个文件加入进去,这样插件就创建完成
    • 清萌网络科技
      #6楼    清萌网络科技
      2020-03-12 00:12:28
      Firefox 73.0 0
      本部分内容设定了隐藏,需要回复后才能看到,立即回复
    • 过把瘾
      #7楼    过把瘾
      2020-03-12 10:04:17
      Chrome 0
      学习下下
    • perweb
      #8楼    perweb
      2020-10-13 19:47:49
      Chrome 0
      学习下
    • 猴子哥哥
      #9楼    猴子哥哥
      2020-12-13 10:11:19
      Chrome 0
      学习学习
    • 飞鱼
      #10楼    飞鱼
      2020-12-15 15:42:03
      Chrome 0
      正需要,学习下!
    • phyge
      #11楼    phyge
      2020-12-19 13:55:24
      Chrome 0
      本部分内容设定了隐藏,需要回复后才能看到,立即回复
    • 越王
      #12楼    越王
      2020-12-22 19:32:19
      Chrome 0
      牛逼111
    • 吃不痴
      #13楼    吃不痴
      2021-03-11 23:14:38
      Chrome 0
      学习一下
    • 18716408881
      #14楼    18716408881
      2021-03-14 21:26:01
      Chrome 0
      学习一下
    • demo1452
      #15楼    demo1452
      2021-03-15 09:24:35
      Chrome 0
      yunshui2011 施舍
    • 早熟的土豆
      #16楼    早熟的土豆
      2021-06-23 10:25:36
      Chrome 0
      学习学习
    • wz19901213
      #17楼    wz19901213
      2021-08-30 16:38:21
      Chrome 0
      学习下
    • whyanhuang
      #18楼    whyanhuang
      2021-08-30 16:46:47
      Chrome 0
      看看
    • whyanhuang
      #19楼    whyanhuang
      2021-08-30 16:49:02
      Chrome 0
      打赏按钮点开还是帖子链接 无法打赏查看内容是什么原因?
    • wz19901213
      #20楼    wz19901213
      2021-08-31 15:04:55
      Chrome 0
      打赏了 怎么看不到内容 是有金额要求?
    • wz19901213
      #21楼    wz19901213
      2021-08-31 15:05:37
      Chrome 0
      wz19901213 重新回复了 可以了 之前刷新了 几次都不行
    • 萧歌
      #22楼    萧歌
      2021-09-23 19:48:09
      Chrome 0
      学习下
    • 没熟的土豆
      #23楼    没熟的土豆
      2021-10-24 21:30:13
      Chrome 0
      重新回复了 可以了 之前刷新了 几次都不行
    • 贰壹网络
      #24楼    贰壹网络
      2021-10-24 21:46:56
      Chrome 0
      学习了
    • 没熟的土豆
      #25楼    没熟的土豆
      2021-10-25 16:11:16
      Chrome 0
      请问后台逻辑代码 放在哪个文件中呢
    • Rambo
      #26楼    Rambo
      2021-10-29 10:09:13
      Chrome 0
      学习一下
    • tuijiangua
      #27楼    tuijiangua
      2021-12-12 18:08:51
      Edge 0
      学习学习
    • 云南昆明贰壹网络
      #28楼    云南昆明贰壹网络
      2021-12-14 10:39:34
      Chrome 0
      学习学习
    • thspan
      #29楼    thspan
      2022-02-16 16:44:17
      Chrome 0
      学习一下学习一下
    • 芝麻通
      #30楼    芝麻通
      2022-04-13 07:30:26
      Chrome 0
      • 学习一下

    • 芝麻通
      #31楼    芝麻通
      2022-04-13 07:31:01
      Chrome 0
      琉惗
      • 学习一下

    • karas
      #32楼    karas
      2022-04-15 11:09:47
      Chrome 0
      学习一下学习一下
    • 1239
      #33楼    1239
      2022-06-18 23:40:45
      Chrome 0
      学习一下
    • 1239
      #34楼    1239
      2022-06-29 02:47:20
      Chrome 0
      学习
    • 1239
      #35楼    1239
      2022-06-29 02:48:35
      Chrome 0
      学习一下
    • 白帽优化网
      #36楼    白帽优化网
      2022-07-12 15:48:50
      Edge 0
      学习一下
    • 1002054290
      #37楼    1002054290
      2022-07-17 11:07:49
      华为手机 0
      学习学习下
    • 1002054290
      #38楼    1002054290
      2022-07-17 11:08:25
      华为手机 0
      好东西好东西
    • 陈德显
      #39楼    陈德显
      2022-10-26 14:09:35
      Chrome 0
      学习学习学习
    • IT-老男孩
      #40楼    IT-老男孩
      2022-10-27 18:53:18
      Firefox 106.0 0
      向大神学习
    • zealens
      #41楼    zealens
      2023-01-12 12:13:20
      Chrome 0
      不错,牛啊,学习了
    • 东莞誉百网站建设
      #42楼    东莞誉百网站建设
      2023-01-12 15:24:28
      Chrome 0
      在模版文件中使用layui创建表格,代码如下
    • q125449096
      #43楼    q125449096
      2023-02-01 10:45:36
      Chrome 0
      学习一下学习一下
    • 血剑弑神
      #44楼    血剑弑神
      2023-02-16 13:09:22
      Chrome 0
      学习一下学习一下
    • 胡银萍
      #45楼    胡银萍
      2023-02-16 14:49:50
      Chrome 0
      学习一下学习一下
    • 蓝色悠郁
      #46楼    蓝色悠郁
      2023-02-18 08:43:18
      Chrome 0
      向大神学习 😆
    • slq17
      #47楼    slq17
      2023-02-18 10:33:16
      Chrome 0
      向大神学习~向大神学习
    • 无
      #48楼    无
      2023-03-27 16:31:30
      Chrome 0
      学习一下学习一下
    • PHP学生
      #49楼    PHP学生
      2023-03-27 21:51:46
      Chrome 0
      好东西学习一下
    • criminalist
      #50楼    criminalist
      2023-04-06 02:47:50
      Chrome 0
      好东西学习一下
    • 半城烟沙
      #51楼    半城烟沙
      2023-04-09 23:19:01
      Chrome 0
      学习下后台自定义模块怎么写 😁
    • 张先生
      #52楼    张先生
      2023-10-09 16:06:20
      Chrome 0
      学习一下 学习一下
    • henna
      #53楼    henna
      2023-10-14 18:01:20
      安卓手机 0
      学习一下,希望有用
    • 123968838
      #54楼    123968838
      2023-11-01 18:22:47
      Chrome 0
      好东西学习一下
    • henna
      #55楼    henna
      2023-11-15 14:58:38
      安卓手机 0
      分页代码怎么写的
    • 易模板
      #56楼    易模板
      2023-11-23 02:58:40
      Edge 0
      学习学习一下
    • 小昕
      #57楼    小昕
      2023-11-23 17:19:39
      Chrome 0
      11111fOK学习地要无可奈何
    • 张百胜
      #58楼    张百胜
      2024-02-27 10:45:27
      Chrome 0
      好东西学习一下
    • 微信20329916
      #59楼    微信20329916
      2024-03-01 16:35:06
      Chrome 0
      好东西学习一下
    • 学习狂人
      #60楼    学习狂人
      2024-04-05 23:25:46
      Chrome 0
      学习一下学习一下
    • 学习狂人
      #61楼    学习狂人
      2024-06-27 09:44:24
      华为手机 0
      学习,感谢分享
    • 自牧
      #62楼    自牧
      2024-12-13 13:15:05
      Chrome 0

      创建插件必须的几个文件为

    • hiker
      #63楼    hiker
      2024-12-16 10:16:41
      Chrome 0
      学习一下学习一下
    • miniidea
      #64楼    miniidea
      2025-01-07 15:59:18
      Chrome 0
      好东西学习一下
    • 兔子姑娘
      #65楼    兔子姑娘
      2025-01-08 15:46:00
      Chrome 0
      好东西学习一下
    • a42024456
      #66楼    a42024456
      2025-04-23 23:11:49
      Chrome 0
      感谢楼主的分享~~~