下面是ThinkPHP5.1框架,通过Model实现获取上一页和下一页代码
如图:
NewsModel代码
//获取上一页方法 public static function getPrev($info=[]){ $map[] = ['id','gt',$info['id']]; $map[] = ['category_id','eq',$info['category_id']]; $info = self::where($map)->order('id ASC')->find(); if($info){ $href = url_news_show($info['id']);; $a = '<a href="'.$href.'">'.$info['title'].'</a>'; }else{ $a = '没有了'; } return $a; } //获取下一页方法 public static function getNext($info=[]){ $map[] = ['id','lt',$info['id']]; $map[] = ['category_id','eq',$info['category_id']]; $info = self::where($map)->order('id DESC')->find(); if($info){ $href = url_news_show($info['id']);; $a = '<a href="'.$href.'">'.$info['title'].'</a>'; }else{ $a = '没有了'; } return $a; }
注意了,上面都是静态方法,调用的时候也要用静态调用
这个是转化url地址的方法,里面你们根据你们自己的url来写
function url_news_show($id){ $url = '/blog-'.$id.'.html'; return $url; }
News控制器
$prev = NewsModel::getPrev($info); $next = NewsModel::getNext($info); $this->assign('prev',$prev); $this->assign('next',$next);
news.html模板
<div class="nextinfo"> <p>上一篇:{$prev|raw}</p> <p>下一篇:{$next|raw}</p> </div>