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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android 相机方向传感,如何在Android设备中获取相机传感器尺寸?[通俗易懂]

    Android 相机方向传感,如何在Android设备中获取相机传感器尺寸?[通俗易懂]从API级别21开始是可能的.从文档(https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#SENSOR_INFO_PHYSICAL_SIZE):publicstaticfinalKeySENSOR_INFO_PHYSICAL_SIZEThephysical…

    2022年5月4日
    61
  • linux分区及格式_ubuntu安装系统分区

    linux分区及格式_ubuntu安装系统分区操作环境:vmware虚机一、整体流程在使用fdisk/parted等分区工具对硬盘分区之后,是否使用LVM由用户决定: 1)可以直接对分区后的硬盘进行格式化操作,之后挂载分区; 2)也可以先用LVM逻辑卷管理工具对分区后的物理卷进行管理,之后再对逻辑卷进行格式化操作,之后挂载分区。(LVM的分区类型为8e) 使用LVM的好处是方

    2025年6月12日
    3
  • ObjectInputStream&ObjectOutputStream

    ObjectInputStream&ObjectOutputStream

    2021年8月31日
    58
  • 硬件SPI控制ST7789V「建议收藏」

    文章目录前言一、能用的方法有那些?1.利用硬件UART模拟SPI,实现9位数据发送2.搭建一个数字逻辑电路,人为实现9位spi发送3.发送两组8位SPI二、具体操作1.具体实现总结前言这段时间闲着没事,决定自己做个手表玩玩,参考了一些开源项目和数据手册,决定主控使用STM32F411CEU6,屏幕选用了淘宝一家商家的ST7789V主控的240*240分辨率的圆形tft屏幕。利用商家给的软件spi例程成功将屏幕点亮之后,尝试使用改为硬件spi的方式,加快屏幕的刷新速度但是尝试了多种方案后始终无法点亮,

    2022年4月9日
    605
  • Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。1、BIO编程1.1、传统的BIO编程网络编程的基本模型是C/S模型,即两个进程间的通信。服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入和输出流进行同步阻塞式通信。

    2022年6月14日
    31
  • Laravel 中 validation 验证 返回中文提示 全局设置

    Laravel 中 validation 验证 返回中文提示 全局设置

    2021年10月23日
    44

发表回复

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

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