文章列表与分页

article表结构

CREATE TABLE "zh_article" (
  "id" int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  "title_img" varchar(200) DEFAULT NULL COMMENT '标题图片',
  "is_hot" int(4) DEFAULT '0' COMMENT '是否热门 1是0否',
  "is_top" int(4) DEFAULT '0' COMMENT '是否置顶 1是0否',
  "category_id" int(8) DEFAULT NULL COMMENT '栏目主键',
  "user_id" int(8) DEFAULT NULL COMMENT '用户主键',
  "title" varchar(255) DEFAULT NULL COMMENT '文档标题',
  "content" text COMMENT '文档内容',
  "pv" varchar(10) DEFAULT '0' COMMENT '阅读数量',
  "status" int(4) DEFAULT '1' COMMENT '状态 1显示 0隐藏',
  "create_time" int(10) DEFAULT NULL COMMENT '创建时间',
  "update_time" int(10) DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY ("id")
);

模型类代码

<?php
namespace app\admin\common\model;
use think\Model;

class Article extends Model
{
    protected $pk = 'id';
    protected $table = 'zh_article';
}

Article.php控制器代码

<?php
namespace app\admin\controller;

use app\admin\common\controller\Base;
use app\admin\common\model\Article as ArtModel;
use think\facade\Request;
use think\facade\Session;

class Article extends Base
{
    //分类管理的首页
    public function index()
    {
        //检查用户是否登录
        $this->isLogin();
        //登录成功后就直接跳转到文章管理界面
        return $this->redirect('artList');
    }
    //文章列表
    public function artList()
    {
        //1.检查用户是否登录
        $this->isLogin();
        //2.获取当前用户的id和用户级别
        $userId = Session::get('admin_id');
        $isAdmin = Session::get('admin_level');
        //3.获取当前用户发布的文章
        $artList = ArtModel::where('user_id',$userId)->paginate(5);
        //4.如果是超级管理员,获取到全部文章
        if($isAdmin ==1){
            $artList = ArtModel::paginate(5);
        }
        //5.设置模板变量
        $this->view->assign('title','文章管理');
        $this->view->assign('empty','没有文章');
            $this->view->assign('artList',$artList);

        //渲染模板
        return $this->view->fetch('artlist');
    }
    //渲染编辑分类的页面
    public function cateEdit()
    {
        //1.获取到分类的id
        $cateId = Request::param('id');
        //2.根据主键查询要更新的分类信息
        $cateInfo = CateModel::where('id',$cateId)->find();
        //3.设置模板变量
        $this->view->assign('title','编辑分类');
        $this->view->assign('cateList',$cateInfo);

        //渲染显示模板
        return $this->view->fetch('cateedit');
    }
    //执行更新操作
    public function doEdit()
    {
        //1.获取用户提交的信息
        $data = Request::post();
        //2.取出主键
        $id = $data['id'];

        //3.删除主键id
        unset($data['id']);
        //4.执行更新操作
        if(CateModel::where('id',$id)->data($data)->update()){
            return $this->success('更新操作','cateList');
        }
        //5.更新失败
        $this->error('没有更新成功');
    }
    //执行文章的删除操作
    public function doDelete()
    {
        //1.获取要删除的主键ID
        $id = Request::param('id');
        //2.执行删除
        if(CateModel::where('id',$id)->delete()){
            return $this->success('删除成功','cateList');
        }
        //3.删除失败
        $this->error('删除失败');
    }

}

artlist.html前端显示代码

{layout name="public:layout" /}
<h4 class="text-center text-success">文章管理</h4>
<table class="table table-default table-hover text-center">
    <tr>
        <td>ID</td>
        <td>标题</td>
        <td>栏目</td>
        {eq name="$Think.session.admin_level" value="1"}
        <td>作者</td>
        {/eq}
        <td>阅读量</td>
        <td>操作时间</td>
        <td colspan="2">操作</td>
    </tr>
    {volist name="artList" id="art" empty="$empty"}
    <tr>
        <td>{$art.id}</td>
        <td>{$art.title}</td>
        <td>{$art.category_id|getCateName}</td>
        {eq name="$Think.session.admin_level" value="1"}
        <td>{$art.user_id|getUserName}</td>
        {/eq}
        <td>{$art.pv}</td>
        <td>{$art.create_time}</td>
        <td><a href="{:url('article/artEdit',['id'=>$art.id])}">编辑</a></td>
        <td><a href="javascript:;" onclick="dele();return false">删除</a></td>
    </tr>
    {/volist}
</table>
<div class="text-center">{$artList|raw}</div>

显示结果页
文章列表与分页_第1张图片

你可能感兴趣的:(ThinkPHP,5.1)