PHPIN.NET

 找回密码
 立即注册
查看: 5427|回复: 0

[官方教程] 帝国cms灵动标签查询的另类用法(排除重复)

[复制链接]

469

主题

31

回帖

5509

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5509
发表于 2015-1-21 21:22:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
帝国cms灵动标签查询的另类用法(排除重复)

有时候会遇到这样的布局,第一个调用的条件是带图的,后面调用的条件是不限制带图不带图的,这样有一定的几率会出现重复,而且用灵动标签的调用第几条后面的几条这样的方法也不是很理想,依旧会有几率重复。
怎么样能排除前面调用的几条呢?
看下面例子即可实现:
  1. [e:loop={2,5,0,1}]
  2. <?php
  3. $a.=$bqr['id'].',';//输出所查的所有信息id并且添加英文半角的逗号作为in条件
  4. $aa=substr($a,0,strlen($a)-1);//因为最后一个也会给逗号,所以我们要给去掉
  5. ?>
  6. <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
  7. [/e:loop]
复制代码
上面是调用栏目id2下面的5条带图数据,把信息id定义为一个变量。在第二个调用的时候,代码如下:
  1. [e:loop={2,5,0,0,"id not in ($aa)"}]//使用MYSQL的in 把上面的变量作为条件即可实现不重复并且不限制是否带图片等各种属性均可如此使用
  2. <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
  3. [/e:loop]
复制代码
第二个调用的时候,后面加MYSQL的in排除参数排除前面已经查询的信息ID,这样就可以实现不重复调用,更多还需要自行掌握。注释:往下还有的话,再组合变量即可,以此类推,再者id是索引字段,无需担心效率问题。
本实例仅供参考。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-4-25 21:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表