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

李清波 2019-07-17 PHP实例 160

ThinkPHP5.1获取上一页和下一页代码

下面是ThinkPHP5.1框架,通过Model实现获取上一页和下一页代码



如图:

ThinkPHP5.1获取上一页和下一页代码

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>


评论