yii2实现 "上一篇,下一篇" 功能的代码实例
发布:smiling 来源: PHP粉丝网 添加日期:2018-07-26 17:48:02 浏览: 评论:0
最近做了简答的文章详情页面,需要在页面底部加入上一篇,下一篇 按钮,分析了下,最基本需要有文章的标题和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 :'没有了',
- ]; //phpfensi.com
- return$this->render('view',
- 'model'=>$model,
- );
视图中代码如下:
- <divclass="left">
- <p>上一篇:
- <a href="<?=$model['prev_article']['url']?>">
- <?=$model['prev_article']['title']?>
- </a>
- </p>
- </div>
- <divclass="right">
- <p>下一篇:
- <a href="<?=$model['next_article']['url']?>">
- <?=$model['next_article']['title']?>
- </a>
- </p>
- </div>
Tags: 上一 实例 代码
相关文章
- ·php 上一篇与下一篇文章代码(2013-12-11)
- ·php实现文章上一页下一页的实例(2014-09-22)
- ·php实现上一篇下一篇的方法总结(2016-08-30)
- ·PHP 登录完成后如何跳转上一访问页面(2020-08-26)
- ·php获取文章上一页与下一页的方法(2021-05-01)
- ·php 用户注册实例代码,适合初学者(2013-12-11)
- ·php 缓冲技术中常用几个实例(2013-12-23)
- ·ajax php用户无刷新登录实例(2013-12-23)
- ·php中登录后跳转回原来要访问的页面实例(2014-01-06)
- ·php生成多个不重复的随机数实例程序(2014-01-08)
- ·php获取复选框checkbox值内容实例(2014-01-10)
- ·PHP多进程简单实例程序(2014-01-10)
- ·PHP代码实现301跳转页面实例(2014-01-11)
- ·PHPMailer 发送邮件实例程序(2014-01-25)
- ·使用PHPMailer发送邮件实例代码总结(2014-01-25)
- ·PHP类中的静态方法使用实例(2014-02-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)