时间:2021-05-25
最近做了简答的文章详情页面,需要在页面底部加入上一篇,下一篇 按钮,分析了下,最基本需要有文章的标题和id(作为参数).
开始想的是当前的id加减1,但考虑到如果部分id丢失就不对了,于是分别查询比当前id大和小的记录并且限定为一条,于是有了以下代码。
代码如下,不对的地方请指教.
控制器中
//查询上-篇文章 $prev_article = 你的模型::find() ->andFilterWhere(['<', 'id', $id]) ->andFilterWhere([其他条件) ->orderBy(['id' => SORT_DESC]) ->limit(1) ->one(); //查询下-篇文章 $next_article = 你的模型::find() ->andFilterWhere(['>', 'id', $id]) ->andFilterWhere(其他条件) ->orderBy(['id' => SORT_ASC]) ->limit(1) ->one(); $model['prev_article'] = [ 'url' => !is_null($prev_article) ? Url::current(['id'=>$prev_article->id]) : 'javascript:;', 'title' => !is_null($prev_article) ? $prev_article->title : '没有了', ]; $model['next_article'] = [ 'url' => !is_null($next_article) ? Url::current(['id'=>$next_article->id]) : 'javascript:;', 'title' => !is_null($next_article) ? $next_article->title : '没有了', ]; return $this->render('view', 'model' => $model, );视图中
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了thinkphp实现上一篇与下一篇的方法。分享给大家供大家参考。具体实现方法如下:方法一:复制代码代码如下://上一篇$front=$Articl
上一篇:[e:loop={"select*from[!db.pre!]ecms_表名whereid"target="_blank">[/e:loop]下一篇:[
discuz帖子内容页面的,上一篇,下一篇代码上一篇:下一篇:复制代码如图:
一:动态调用上一篇下一篇链接上一篇动态调用上一篇链接下一篇动态调用下一篇链接二:运用灵动标签和SQl语句调用上一篇链接:[e:loop={"selectid,c
本文实例汇总了帝国CMS内容页调用上一篇与下一篇方法。分享给大家供大家参考。具体方法如下:一、动态调用上一篇下一篇链接复制代码代码如下:上一篇动态调用上一篇链接