thinkphp3.2 实现上一篇和下一篇

时间:2022-09-23 20:26:30

现在在做一个能够在内容页点击上一篇可以看到上一篇,点击下一篇可以看到下一篇.

首先http://www.mmkb.com/zhendao/index/news_show?code=98

thinkphp3.2  实现上一篇和下一篇

现在code=98,显示的是"蝴蝶摘花来"这篇文章,那么点击下一页就是"这是我们想去的地方".

前端

<div class="head_bar">
<span>位置:</span><a href="index.html">首页 </a> > <a href="news.html">新闻动态</a> > <span class="active">{$show.a_title}</span>
</div>
<div class="news_show">
<span class="show_t">{$show.a_title}</span>
<span class="fa_time">来源:珍岛 &nbsp;&nbsp; 发布时间:{$show.create_time|date='Y-m-d',###}</span>
<p>
{$show.a_remark}
</p>
<div class="s_img clearfix">
<div class="pic">
<img src="__ROOT__/Public/Zhendao/images/show1.png" alt="" class="vcenter"/>
<i></i>
</div>
<div class="pic">
<img src="__ROOT__/Public/Zhendao/images/show2.png" alt="" class="vcenter"/>
<i></i>
</div>
</div>
<p>
{$show.a_content}
</p> <div class="s_x clearfix">
<a href="{$furl}" class="s_prev">上一篇:{$ftitle}</a> //上一篇
<a href="{$aurl}" class="x_next">下一篇:{$atitle}</a> //下一篇
</div>
</div>

控制器

public function news_show(){
$code = $_GET['code'];
$show = M("article")->where("a_id =$code")->find();
$this->assign('show',$show);
/*
* 上一篇
*/
$front=M("article")->where("a_id<$code and cate_id=56")->order('a_id desc')->limit('')->find(); //找出小于当前页面的a_id,然后倒序找出第一个
if($front){
$furl='/zhendao/index/news_show?code='.$front['a_id']; //拼接路径
$ftitle = $front['a_title'];
}else{
$furl="javascript:void(0);";
$ftitle = "没有了";                        //判断如果上一页没有文章,显示"没有了"
}
$this->assign('furl',$furl);
$this->assign('ftitle',$ftitle);
$this->assign('front',$front);
/*
* 下一篇
*/
$after=M("article")->where("a_id>$code and cate_id=56 ")->order('a_id asc')->limit('')->find(); //同理
if($after){
$aurl='/zhendao/index/news_show?code='.$after['a_id'];
$atitle = $after['a_title']; }else{
$aurl="javascript:void(0);";
$atitle = "没有了";
}
$this->assign('aurl',$aurl);
$this->assign('atitle',$atitle);
$this->assign('after',$after); $this->display('/Public/news_show'); }

这样就完成了

thinkphp3.2  实现上一篇和下一篇