【THINKPHP】-文章上一篇、下一篇
tp获取文章上一篇或者下一篇
直接复制到自己的项目直接用
控制器
/上一篇-下一篇
$preArticle = $ArticleModel->getpreArticle($aid);
$this->assign('preArticle',$preArticle);
$newArticle = $ArticleModel->getnetArticle($aid);
$this->assign('newArticle',$newArticle);
模型
//获取上一篇文章
public function getpreArticle($aid){
$res= $this->where('id','<',$aid)->field(['id','title'])->order('id desc')->limit(1)->find();
if($res){
return $res->toArray();
}
}
//获取下一篇文章
public function getnetArticle($aid){
$res= $this->where('id','>',$aid)->field(['id','title'])->order('id desc')->limit(1)->find();
if($res){
return $res->toArray();
}
}
html
{if(is_array($preArticle))}
<p>上一篇:<a href="{:url('/info',['aid'=>$preArticle.id])}">{$preArticle.title}</a></p>
{else/}
<p>上一篇:<b style="color:red">已经是最新文章了</b></p>
{/if}
{if(is_array($newArticle))}
<p>下一篇:<a href="{:url('/info',['aid'=>$newArticle.id])}">{$newArticle.title}</a></p>
{else/}
<p>下一篇:<b style="color:red">已经是最后一篇文章了</b></p>
{/if}
注:
(1)$aid是当前文章的ID,需要传过来
(2)field是获取你需要的字段
(3)limit(1)--获取1条
(4)where('id','<',$aid)---条件,当前文章的id和数据库的ID
(5)$res->toArray();---转化为数组
按id排序,查询出来小于当前文章id的一条文章,并返回html
is_array判断是否有这个数组,有就执行下面的