thinkphp5.0 文章详情页 上一篇 下一篇

thinkphp5.0 文章详情页 上一篇 下一篇

 //    上一篇下一篇(同一个分类下,先确定该分类的pid)
    public function frontAfter()
    {
        $param=$this->param;
        $front=Db::name('news')->where(['pid'=>$param['pid']])->where('id','<',$param['id'])->field(['id','pid'])->order(['id'=>'desc'])->find();
        $after=Db::name('news')->where(['pid'=>$param['pid']])->where('id','>',$param['id'])->field(['id','pid'])->order(['id'=>'asc'])->find();
        $front=empty($front)?'没有了':$front;
        $after=empty($after)?'没有了':$after;
        $data=[$front,$after];
        return resultArray(['data'=>$data]);
    }

测试代码php部分:

 public function fenye()
    {
        $param=$this->param;
//        dump($param);
        $front=Db::name('news')->where(['pid'=>$param['pid']])->where('id','<',$param['id'])->order(['id'=>'desc'])->find();
        $after=Db::name('news')->where(['pid'=>$param['pid']])->where('id','>',$param['id'])->order(['id'=>'asc'])->find();
//        echo Db::name('news')->getLastSql();
//        dump($front);
//        dump($after);

        $f_url= $front['id'];
        $a_url=$after['id'];
        $front=empty($front)?'没有了':$front;
        $after=empty($after)?'没有了':$after;

        $this->assign('front',$front);
        $this->assign('after',$after);

        $this->assign('f_url',$f_url);
        $this->assign('a_url',$a_url);
        return $this->fetch('index');
    }

HTML部分:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>news 分页</title>
</head>
<body>
<div>分页</div>
{
    $front}&nbsp;&nbsp;&nbsp;--{
   $after}<br>
<a href="{
   $f_url}">上一页</a> &nbsp;&nbsp;&nbsp; <a href="{
   $a_url}">下一页</a>
</body>
</html>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113640.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot – 加载配置文件的实现方式[通俗易懂]

    SpringBoot – 加载配置文件的实现方式[通俗易懂]1、简介在实际的项目开发过程中,我们经常需要将某些变量从代码里面抽离出来,放在配置文件里面,以便更加统一、灵活的管理服务配置信息。比如,数据库、eureka、zookeeper、redis、mq、kafka等服务组件的连接参数配置,还有我们自定义的项目参数配置变量。当然,实际上根据当前的业务需求,我们往往会自定义参数,然后注入到代码里面去,以便灵活使用!今天,我们就一起来聊一聊SpringBoot加载配置文件的几种玩法,如果有遗漏,欢迎留言!SpringBoot项目在启用时:首先会默

    2025年11月29日
    8
  • pycharm 常用快捷键_pycharm下一行快捷键

    pycharm 常用快捷键_pycharm下一行快捷键1、ctrl+shift+A:万能命令行2、shift两次:查看资源文件3、ctrl+D:复制当前光标所在行4、ctrl+R:快速替换(一般不用)5、ctrl+/:用于注释或取消注释6、shift+tab:取消缩进(tab:缩进)7、Alt+Shift+上下键:选中代码移动8、…

    2022年8月25日
    8
  • netty权威指南学习

    netty权威指南学习1、Bio工程结构maven工程文件结构:│nettyArticle.iml│pom.xml│├─.idea│compiler.xml│misc.xml│vcs.xml│workspace.xml│├─src│├─main││├─java│││└─com│││└─jad…

    2022年10月2日
    2
  • apache负载均衡配置_apache反向代理配置

    apache负载均衡配置_apache反向代理配置一般来说,负载均衡就是将客户端的请求分流给后端的各个真实服务器,达到负载均衡的目的。还有一种方式是用两台服务器,一台作为主服务器(Master),另一台作为热备份(HotStandby),请求全部分给主服务器,在主服务器当机时,立即切换到备份服务器,以提高系统的整体可第一次看到这个标题时我也很惊讶,Apache居然还能做负载均衡?真是太强大了。经过一番调查后发现的确可以,而且功能一点都不差。这都归功于mod_proxy这个模块。不愧是强大的Apache啊。废话少说,下面就来解释一下负载均衡的设置方..

    2025年10月10日
    3
  • visifire  柱状图控件

    visifire  柱状图控件最近使用到一个柱状图控件visifire用起来还是比较高级的不过会有水印商业用途需要购买正版效果还是很好的还有动画效果能够识别最大高度创建之前需要引用http://note.youdao.com/noteshare?id=4a8d01bd0bfef2cdc86c5752aad3156…

    2022年7月21日
    15
  • Django Django_django queryset合并

    Django Django_django queryset合并前言我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作。其实模型名字.objects是一个django.db.models.manager.Manager对象,而Manager

    2022年7月28日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号