thinkphp5.0 文章详情页 上一篇 下一篇

简介: 博客项目中的文章详情页,上一页、下一页功能的实现。

QQ图片20220425233240.jpg

这篇日志记录下博客项目中的文章详情页,上一页、下一页功能的实现


最开始的想法是根据id,但是后来发现,数据是可以删除的啊,这可怎么办。好了,不啰嗦了,上代码。


博客使用的php框架是thinkphp5


Php部分:


/**
 * 文章详情
 * 查询文章所有信息
 */
public function Detail()
{
  $article = db('article');
  $cate = db("category");
  $artid = input('articleid');
  // 文章详情
  $articleInfo = $article
           ->alias('a')
           ->join("category c",'a.art_cid = c.id')
           ->field("a.id,a.art_cid,a.arttitle,a.artlogo,a.another,a.artdesc,
            a.is_top,a.sort_no,a.status,a.content,a.click_num,a.putime,a.uptime,a.labelstr,c.cat_name")
           ->where('a.id',$artid)
           ->find();
  // 所属标签
  $labelstr = trim($articleInfo['labelstr'],',');
  // var_dump($labelstr);die;
  $labelList = $this->belongLabel($labelstr);
  $this->assign('labelList', $labelList);
  // 上一篇文章
  $front = $article->where('id','<',$artid)->field(['id','arttitle'])->order(['id'=>'desc'])->find();
  // 下一篇文章
  $after = $article->where('id','>',$artid)->field(['id','arttitle'])->order(['id'=>'asc'])->find();
  if(empty($front)){
    $front['arttitle'] = '没有了';
    $front['id'] = '';
  }else if(empty($after)){
    $after['arttitle'] = '没有了';
    $after['id'] = '';
  }
  $this->assign('frontInfo', $front);
  $this->assign('afterInfo', $after);
  $this->assign('articleInfo', $articleInfo);
  return $this->fetch('article_detail');
}


HTML部分:


<div>
   {eq name="frontInfo.id" value=''}
     <p>上一篇:<a href="#">{$frontInfo.arttitle}</a></p>
   {else/}
     <p>上一篇:<a href="{:url('article/Detail',array('articleid'=>$frontInfo['id']))}">{$frontInfo.arttitle}</a></p>
   {/eq}
   {eq name="afterInfo.id" value=''}
     <p>下一篇:<a href="#">{$afterInfo.arttitle}</a></p>
   {else/}
     <p>下一篇:<a href="{:url('article/Detail',array('articleid'=>$afterInfo['id']))}">{$afterInfo.arttitle}</a></p>
   {/eq}
</div>


以上代码就实现了上一页下一页的功能。



目录
相关文章
|
6月前
|
JavaScript
首页功能的实现
首页功能的实现。
38 1
原生php实现大案例(特色:不登录不能使用功能 注册 登录 文件上传 发帖 列表页 详情页 )提供sql
原生php实现大案例(特色:不登录不能使用功能 注册 登录 文件上传 发帖 列表页 详情页 )提供sql
|
存储 前端开发
【大前端】华农官网页面
【大前端】华农官网页面
191 0
【大前端】华农官网页面
|
小程序 前端开发 容器
小程序首页搭建
小程序首页搭建
44 0
|
关系型数据库 MySQL PHP
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】 CSDN 转过来的,所以格式与内容有些许错误请见谅
|
安全 数据安全/隐私保护
WordPress建站教程:默认WordPress登录入口和修改后台入口
​今天关注六翼开源的一个网友遇到一个问题没办法突破,他在安装WordPress之后不知道WordPress后台登录入口,无法进入后台管理网站和更新文章。下面北京六翼的开发工程师针对“默认WordPress登录入口和修改后台入口”的问题给大家做一下讲解。
WordPress建站教程:默认WordPress登录入口和修改后台入口
|
存储 前端开发
【大前端】华农官网学生页面
【大前端】华农官网学生页面
98 0
【大前端】华农官网学生页面
|
JavaScript
【Discuz】如何实现自动注册登录
【Discuz】如何实现自动注册登录
508 0
【Discuz】如何实现自动注册登录
|
SQL 存储 前端开发
从零搭建基于SpringBoot的秒杀系统(三):首页、详情页编写
在上一篇博客中,我们已经搭好了系统的主要架构,目前已经可以跑通这个项目,接下来我们就可以把注意力都集中在代码上。本次需要创建的代码目录。
|
存储 前端开发 Java
网站首页轮番图的后台管理
如下图,很多CMS的首页都会有实时更新的轮番图的需求:
网站首页轮番图的后台管理