11显示文档信息

11显示文档信息

唱午恕警赫财扦必汉锑什捅疟


数据表中的文档结构

11显示文档信息第1张


创建模型类Article.php

11显示文档信息第2张

<?php
namespace app\common\model;
//引入系统模型
use think\Model;

//要使用模型必须继承系统模型
class Article extends Model
{
    //配饰数据库的连接参数,因为使用了个性化的字符串连接  所以这里要写
    //直接使用tp的数据库连接方式 这里就不用写
    protected $connection="db_qiye";

    //配置数据表
    protected $table="article";
    //设置主键
    protected $pk="art_id";

    //开启自动时间戳,除开单独开启之外  还可以在config\database.php中全局开启
    
    //自动时间戳功能会将1528183378  转化为:2018-06-05 15:22:58
    protected $autoWriteTimestamp=true;

    //设置添加时候的时间字段名称
    protected $createTime="create_time";
    //自动时间戳更新的字段
    protected $updateTime="update_time";
    //自动时间戳删除时的字段
    protected $deleteTime="delete_time";

    //上方的三个刚好与数据表中的字段一致  自动就能找到相应字段  可以不用写


}

创建控制器类Article.php

11显示文档信息第3张

<?php 
namespace app\admin\controller;
use app\common\controller\Base;
use app\common\model\Article as ArtModel;
class Article extends Base 
{
    public function index()
    {
        //获取文档
        //根据时间查询  paginate()可以分页  获取分页数据  每页8条  下方代码获取分页数据
        $arts=ArtModel::order('create_time')->paginate(8);
        
        //模板赋值
        $this->view->arts = $arts;
        //渲染模板
        return $this->view->fetch();
    }
}

引入模板类  打开x-admin   复制order-list.html到模板页  并改名为index.html

11显示文档信息第4张

替换其中的头部

打开left-nav.html,修改url链接

11显示文档信息第5张

打开文档管理

11显示文档信息第6张

遍历数据

11显示文档信息第4张

{include file="common@header"}
    <div class="x-nav">
      <span class="layui-breadcrumb">
        <a href="">首页</a>
        <a href="">文档</a>
        <a>
          <cite>文档列表</cite></a>
      </span>
      <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="javascript:location.replace(location.href);" title="刷新">
        <i class="layui-icon" style="line-height:30px">ဂ</i></a>
    </div>
    <div class="x-body">
      <xblock>
        <button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量删除</button>
        <button class="layui-btn" onclick="x_admin_show('添加用户','./order-add.html')"><i class="layui-icon"></i>添加</button>
        <span class="x-right" style="line-height:40px">共有数据:88 条</span>
      </xblock>
      <table class="layui-table">
        <thead>
          <tr>
            <th>
              <div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>
            </th>
            <th>ID</th>
            <th>标题</th>
            <th>分类</th>
            <th>排序</th>
            <th>推荐</th>
            <th>发布时间</th>
            <th>更新时间</th>
            <th >操作</th>
            </tr>
        </thead>
        <tbody>
          
          {volist  name="arts" id="art"}
          <tr>
            <td>
              <div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>
            </td>
            <td>{$art.art_id}</td>
            <td>{$art.art_title}</td>
            <td>{$art.cate_id}</td>
            <td>{$art.art_order}</td>
            <td>{$art.art_rec}</td>
            <td>{$art.create_time}</td>
            <td>{$art.update_time}</td>
            <td class="td-manage">
              <a title="查看"  onclick="x_admin_show('编辑','order-view.html')" href="javascript:;">
                <i class="layui-icon">&#xe63c;</i>
              </a>
              <a title="删除" onclick="member_del(this,'要删除的id')" href="javascript:;">
                <i class="layui-icon">&#xe640;</i>
              </a>
            </td>
          </tr>

          {/volist}
        </tbody>
      </table>
      <div class="page">
        <div>
          <a class="prev" href="">&lt;&lt;</a>
          <a class="num" href="">1</a>
          <span class="current">2</span>
          <a class="num" href="">3</a>
          <a class="num" href="">489</a>
          <a class="next" href="">&gt;&gt;</a>
        </div>
      </div>

    </div>
    <script>
      layui.use('laydate', function(){
        var laydate = layui.laydate;
        
        //执行一个laydate实例
        laydate.render({
          elem: '#start' //指定元素
        });

        //执行一个laydate实例
        laydate.render({
          elem: '#end' //指定元素
        });
      });

       /*用户-停用*/
      function member_stop(obj,id){
          layer.confirm('确认要停用吗?',function(index){

              if($(obj).attr('title')=='启用'){

                //发异步把用户状态进行更改
                $(obj).attr('title','停用')
                $(obj).find('i').html('&#xe62f;');

                $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
                layer.msg('已停用!',{icon: 5,time:1000});

              }else{
                $(obj).attr('title','启用')
                $(obj).find('i').html('&#xe601;');

                $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
                layer.msg('已启用!',{icon: 5,time:1000});
              }
              
          });
      }

      /*用户-删除*/
      function member_del(obj,id){
          layer.confirm('确认要删除吗?',function(index){
              //发异步删除数据
              $(obj).parents("tr").remove();
              layer.msg('已删除!',{icon:1,time:1000});
          });
      }



      function delAll (argument) {

        var data = tableCheck.getData();
  
        layer.confirm('确认要删除吗?'+data,function(index){
            //捉到所有被选中的,发异步进行删除
            layer.msg('删除成功', {icon: 1});
            $(".layui-form-checked").not('.header').parents('tr').remove();
        });
      }
    </script>
  </body>

</html>

执行:

11显示文档信息第8张

将分类显示的数字转化为具体的名称

11显示文档信息第9张

<?php

// 应用公共文件
use think\Db;
//获取管理员用户名
function getUserName()
{
    
    return Db::connect('db_qiye')->table('user')->value('user_name');

}
//获取当前时间
function getCurrentTime()
{
    return date('Y-m-d H:i:s',time());
}

//获取mysql版本  要使用原生SQL查询才能实现
function getMysqlVersion()
{
    //query查询结果返回为数组  需要得到的是第一条(只有一条)数据的version字段
    return Db::connect('db_qiye')->query('select VERSION() as version')[0]['version'];
}

//根据分类的id来获取分类的名称
function getCateName($cateId)
{
    return Db::connect('db_qiye')
    ->table('category')
    ->where('cate_id',$cateId)
    ->value('cate_name');
}

标题只显示25个字符,使用php函数:mb_substr()截取一段字符串 

将推荐显示为推荐和普通

11显示文档信息第4张

核心源码:

          
          {volist  name="arts" id="art"}
          <tr>
            <td>
              <div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>
            </td>
            <td>{$art.art_id}</td>

            <!-- 这里使用系统函数mb_substr只获取标题的25个字符 -->
            <td>{:mb_substr($art.art_title,0,25,'utf8')}</td>
            {//为了直观,这里调用了自定义函数:根据分类id,自动获取对应的分类名称}
            <td>{:getCateName($art.cate_id)}</td>
            <td>{$art.art_order}</td>
            <td>
              {//如果变量art.art_rec值为1  输出推荐  否则输出普通}
              {eq name="art.art_rec" value="1"}
              推荐
              {else/}
              普通
              {/eq}
            </td>
            <td>{$art.create_time}</td>
            <td>{$art.update_time}</td>
            <td class="td-manage">
              <a title="查看"  onclick="x_admin_show('编辑','order-view.html')" href="javascript:;">
                <i class="layui-icon">&#xe63c;</i>
              </a>
              <a title="删除" onclick="member_del(this,'要删除的id')" href="javascript:;">
                <i class="layui-icon">&#xe640;</i>
              </a>
            </td>
          </tr>

          {/volist}

测试:

11显示文档信息第11张


分页功能实现:

核心源码:

<div class="page">
        <div>
          {//显示分页   raw将html代码进行解析}
          {$arts|raw}
        </div>
      </div>

发挥作用的代码只有:{$arts|raw}

index.html完整的代码:

{include file="common@header"}
    <div class="x-nav">
      <span class="layui-breadcrumb">
        <a href="">首页</a>
        <a href="">文档</a>
        <a>
          <cite>文档列表</cite></a>
      </span>
      <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="javascript:location.replace(location.href);" title="刷新">
        <i class="layui-icon" style="line-height:30px">ဂ</i></a>
    </div>
    <div class="x-body">
      <xblock>
        <button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量删除</button>
        <button class="layui-btn" onclick="x_admin_show('添加用户','./order-add.html')"><i class="layui-icon"></i>添加</button>
        <span class="x-right" style="line-height:40px">共有数据:88 条</span>
      </xblock>
      <table class="layui-table">
        <thead>
          <tr>
            <th>
              <div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>
            </th>
            <th>ID</th>
            <th>标题</th>
            <th>分类</th>
            <th>排序</th>
            <th>推荐</th>
            <th>发布时间</th>
            <th>更新时间</th>
            <th >操作</th>
            </tr>
        </thead>
        <tbody>
          
          {volist  name="arts" id="art"}
          <tr>
            <td>
              <div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>
            </td>
            <td>{$art.art_id}</td>

            <!-- 这里使用系统函数mb_substr只获取标题的25个字符 -->
            <td>{:mb_substr($art.art_title,0,25,'utf8')}</td>
            {//为了直观,这里调用了自定义函数:根据分类id,自动获取对应的分类名称}
            <td>{:getCateName($art.cate_id)}</td>
            <td>{$art.art_order}</td>
            <td>
              {//如果变量art.art_rec值为1  输出推荐  否则输出普通}
              {eq name="art.art_rec" value="1"}
              推荐
              {else/}
              普通
              {/eq}
            </td>
            <td>{$art.create_time}</td>
            <td>{$art.update_time}</td>
            <td class="td-manage">
              <a title="查看"  onclick="x_admin_show('编辑','order-view.html')" href="javascript:;">
                <i class="layui-icon">&#xe63c;</i>
              </a>
              <a title="删除" onclick="member_del(this,'要删除的id')" href="javascript:;">
                <i class="layui-icon">&#xe640;</i>
              </a>
            </td>
          </tr>

          {/volist}
        </tbody>
      </table>
      <div class="page">
        <div>
          {//显示分页   raw将html代码进行解析}
          {$arts|raw}
        </div>
      </div>

    </div>
    <script>
      layui.use('laydate', function(){
        var laydate = layui.laydate;
        
        //执行一个laydate实例
        laydate.render({
          elem: '#start' //指定元素
        });

        //执行一个laydate实例
        laydate.render({
          elem: '#end' //指定元素
        });
      });

       /*用户-停用*/
      function member_stop(obj,id){
          layer.confirm('确认要停用吗?',function(index){

              if($(obj).attr('title')=='启用'){

                //发异步把用户状态进行更改
                $(obj).attr('title','停用')
                $(obj).find('i').html('&#xe62f;');

                $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
                layer.msg('已停用!',{icon: 5,time:1000});

              }else{
                $(obj).attr('title','启用')
                $(obj).find('i').html('&#xe601;');

                $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
                layer.msg('已启用!',{icon: 5,time:1000});
              }
              
          });
      }

      /*用户-删除*/
      function member_del(obj,id){
          layer.confirm('确认要删除吗?',function(index){
              //发异步删除数据
              $(obj).parents("tr").remove();
              layer.msg('已删除!',{icon:1,time:1000});
          });
      }



      function delAll (argument) {

        var data = tableCheck.getData();
  
        layer.confirm('确认要删除吗?'+data,function(index){
            //捉到所有被选中的,发异步进行删除
            layer.msg('删除成功', {icon: 1});
            $(".layui-form-checked").not('.header').parents('tr').remove();
        });
      }
    </script>
  </body>

</html>

测试:

11显示文档信息第12张


汕间绕芹凹豪逛骄习充便哼栓