`

thinkphp实现文章上下篇

阅读更多

【前言】

   本文介绍下实现文章或新闻上下篇的语法,可以解决ID不连续的问题

 

【主体】

(1)上篇

$pre = M('article')->where(array('id>"'.$_GET["id"].'"','cateid' => $cateid))
                   ->limit('1')->find();

    注意:这里我在where里的条件加了一条,即分类。也就是和当前文章处于同一分类,这里用array数组形式添加多个条件。如没有分类,则可以去除cateid条件 

 

(2)下篇

$next = M('article')->where(array('id<"'.$_GET["id"].'"','cateid' => $cateid))
                    ->order('id desc')
                    ->limit('1')
                    ->find();

    注意:和上篇原理类似  

 

(3)没有了--判断有无上下篇

         注意:这里可以在控制器里加判断然后传递到模板,也可以直接在模板里判断。

         ①控制器里判断

if(!$pre){
           $pre['title']='没有了(本文为该分类的首篇)';
        }
if(!$next){
           $next['title']='没有了(本文为该分类的尾篇)';
        }

          判断完后传递到模板即可

         ②模板里判断

            输出后得知,没有上下篇时$pre或$next变量输出为空数组,所以可以在模板里判断

<if condition="$next eq null">
    <a href="javascript:;" class="prompt-next">没有了!</a>
<else/>
    <a href="__CONTROLLER__/index/id/{$next.id}" title="{$next['title']|msubstr=###,0,40}">{$next['title']|msubstr=###,0,40}</a>
</if>

    完善,为了提高用户体验,给没有上下文的情况,添加个点击事件

<script type="text/javascript">
    $(function(){
        $('.prompt-pre').on('click',function(){
            alert("本文为该分类的首篇");
        });
        $('.prompt-next').on('click',function(){
            alert("本文为该分类的尾篇");
        });
    })
</script>

 

 

 

 

 

 

 

 

 

..

分享到:
评论

相关推荐

    thinkphp实现上一篇与下一篇的方法

    在Web内容管理系统中,常需要实现文章的上一篇和下一篇文章的功能,以便用户可以方便地浏览相关内容。在ThinkPHP中实现这一功能,可以通过查询数据库来获取符合条件的文章记录。本文将详细介绍两种不同的实现方法,...

    ThinkPHP实现事务回滚示例代码

    ThinkPHP通过内置的机制支持事务操作,本篇文章将详细介绍如何在ThinkPHP中实现事务回滚。 事务回滚是指当事务中的一个或多个操作失败时,撤销之前的操作,使得数据库回退到事务开始前的状态。这在需要保证数据一致...

    ThinkPHP开源B2C电商小程序系统

    本篇文章将深入探讨基于ThinkPHP框架的开源B2C电商小程序系统,旨在帮助开发者理解并掌握此类系统的构建、管理和优化。 一、B2C电商模式概述 B2C(Business-to-Consumer)是企业对消费者的电子商务模式,商家通过...

    sale_admin.zip

    本篇文章将深入探讨一款名为"sale_admin"的进销存管理系统,该系统基于强大的ThinkPHP5框架和MySQL数据库,由专业的木马团队开发,并且完全开源,为企业提供了灵活的定制和扩展空间。 一、ThinkPHP5框架解析 ...

    PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例

    本篇文章将深入探讨如何使用自定义函数实现类似`assign()`和`extract()`的功能,以便在不依赖特定框架的情况下完成模板变量的分配。 `assign()`函数通常用于将数组或变量分配到模板,以便在模板文件中使用。在这个...

    TuziCMS企业网站管理系统 v3.0.zip

    1.【修复】上下篇url在兼容模式下出错。(2016.01.23解决) 2.【修复】万能标签调用不出文章描述。(2016.05.10解决) 3.【修复】单页模型添加图片无法正常显示。(2016.05.12解决) 4.【修复】后台上传文章缩略图...

    PHP word解析数学公式

    本篇文章将深入探讨如何使用PHP解析包含数学公式、图片以及数字上下标的Word文档。 1. **PHP与Word文档解析** PHP可以借助一些开源库来解析Word文档,如PHPWord、PHPDocX等。这些库允许开发者读取、创建和编辑Word...

Global site tag (gtag.js) - Google Analytics