不言不语

您现在的位置是: 首页 >  PHP  >  ThinkPHP

ThinkPHP

【THINKPHP】-文章上一篇、下一篇

2020-04-25ThinkPHP
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判断是否有这个数组,有就执行下面的




文章评论