业务经理

微信扫描以上二维码

028-61286886

技术咨询

稍复杂一些的module循环列表查询需求怎么写

迅睿框架 更新 2024-04-07 21:53:35 猴子阿

请教下,实现如下需求的module模块列表循环判断需求,应该怎么写?


{module module=news num=30}

  {$t.title}

  {$t['updatetime']}

{/module}


以上module循环出的数据如下:


标题:1 更新时间:2024-04-06 23:47:11

标题:1 更新时间:2024-04-06 23:47:13

标题:1 更新时间:2024-04-06 23:47:15

标题:2 更新时间:2024-04-06 23:47:18

标题:2 更新时间:2024-04-06 23:47:20

标题:2 更新时间:2024-04-06 23:47:22


判断需求:

1、判断列表循环出的数据中,如果相同标题的数据大于1,则根据每条数据各自的updatetime更新时间,只显示最新的1条。


根据判断需求,最后输出的数据效果如下:只剩下2条数据符合判断需求:


标题:1 更新时间:2024-04-06 23:47:15

标题:2 更新时间:2024-04-06 23:47:22


方案

  • 外聘专员-明矾软件 #1 · 2024-04-07 20:40:57
    {php $rs=[];}
    {module module=news num=30}
    {php $rs[$t._updatetime]=$t;}
    {/module}
    
    {loop $rs $t}
    {$t.title}
    {$t['updatetime']}
    {/loop}
  • 猴子阿 #2 · 2024-04-07 21:07:19
    外聘专员-明矾软件 您这段代码的意思,好像是:是从chapter模块获取最新的数据,然后按照_updatetime字段的值排序?根据我的判断需求,应该怎么处理?
  • 猴子阿 #3 · 2024-04-07 21:17:03
    满意答案
    外聘专员-明矾软件 这样写,不知道对不对:
    {php $rs=[];}
    {module module=news num=115}
    
    <?php 
    
       if (!isset($rs[$t.shuming]) || $t._updatetime > $rs[$t.shuming]._updatetime) {
            $rs[$t.shuming] = $t;
        }
    
    ?>
    
    {/module}
    
    {loop $rs $t}
    {$t.shuming} - {$t['updatetime']} <br />
    {/loop}
  • 猴子阿 #4 · 2024-04-07 21:53:35
    @猴子阿:感谢专员提供的思路

迅睿系统漏洞

GeoSeo工具箱
GeoSeo工具箱(2026-10-30)
新增城市落地页FAQ自定义 新增 Site Scan 分析报告并支...
外贸多语言建站
外贸多语言建站(2026-10-30)
修正对百度编辑器提取支持
AI文章生成器
AI文章生成器(2026-10-29)
任务插图设置数量
Bing站长数据
Bing站长数据(2026-10-29)
根据BING接口调整菜单 各个页面数据支持点击查看详情
按字段付费
按字段付费(2026-10-29)
按字段付费用于模块的字段设置一定的价格,当用户购买了此内容的字段时才...
泛解析站群系统
泛解析站群系统(2026-10-29)
AI队列增加清空按钮 表单提示语收敛 目录模式不接管主域名模板
账号注销
账号注销(2026-10-29)
用于用户中心的注销账号申请,后台审核通过后注销此账号。后台统一管理注...
邮件群发
邮件群发(2026-10-28)
修改模板的命名
自定义收款/捐款
自定义收款/捐款(2026-10-28)
自定义收款或捐款插件可以让用户快速创建付款或者捐款功能
CMS内容批量修改
CMS内容批量修改(2026-10-28)
后台批量修改文章内容的指定字段在插件后台可以任意指定字段