zdcms在条件查询循环时需要用到的修饰符
修饰符 | 介绍 |
---|---|
LIKE_字段 | 模糊匹配查询,例如LIKE_title=%名称%,表示like title '%名称%' |
NOTLIKE_字段 | 是LIKE的反条件 v4.62以上支持 |
JSON_字段 | 用于查询json数据格式 |
NOTJSON_字段 | 是JSON的反条件 v4.62以上支持 |
FIND_字段 | 用于查询Members,Related字段的数据格式,FIND_IN_SET语法 |
NOTFIND_字段 | 是FIND的反条件 v4.62以上支持 |
MAP_地图字段 | 查询指定坐标范围内容的数据,例如MAP_dtu=xxxx,xxxx|10,表示查询坐标范围内10km的数据 |
IN_字段 | IN子句查询,例如IN_id=1,2,3,4 ,表示id in (1,2,3,4) |
NOTIN_字段 | IN子句查询,例如NOTIN_id=1,2,3,4 ,表示id not in (1,2,3,4) |
NOT_字段 | 不等于,例如NOT_title=999,表示title <> '999' |
BW_字段 | 两者之间查询,例如BETWEEN_id=1,100,表示id在1到100的数据 |
GT_字段 | 大于,需要字段值是数字类型,例如GT_id=222 ,表示id >222 |
EGT_字段 | 大于等于,需要字段值是数字类型,例如EGT_id=222 ,表示id >=222 |
LT_字段 | 小于,需要字段值是数字类型,例如LT_id=222 ,表示id <222 |
ELT_字段 | 小于等于,需要字段值是数字类型,例如ELT_id=222 ,表示id <=222 |
BETWEEN_字段 | 两者之间查询,例如BETWEEN_id=1,100,表示id在1到100的数据 |
DAY_字段 | 按N天内查询,用于Date类型的字段查询,例如DAY_inputime=0,表示当天的数据、DAY_inputime=1,表示昨天到今天的数据、DAY_inputime=7,表示7天内的数据、 |
WEEK_字段 | 按N周查询,用于Date类型的字段查询,例如WEEK_inputime=0,表示本周一到当天的数据、WEEK_inputime=1,表示上周一到今天的数据、只查询上周数据写法是WEEK_inputtime=E1 |
MONTH_字段 | 按N月内查询,用于Date类型的字段查询,例如MONTH_inputime=0,表示当月的数据、MONTH_inputime=1,表示上个月到现在的数据、只查询上个月数据写法是MONTH_inputime=E1、指定月份查询MONTH_inputtime=2020-1,2020-4 |
YEAR_字段 | 按N年内查询,用于Date类型的字段查询,例如YEAR_inputime=0,表示本年到现在的数据、YEAR_inputime=1,表示去年到现在的数据、只查询去年月数据写法是YEAR_inputime=E1、指定年份查询YEAR_inputtime=2020,2023 |
SEASON_字段 | 按1-4个季度查询,用于Date类型的字段查询,例如SEASON_inputime=0,表示本年的当前季度数据、SEASON_inputime=1,表示本年第1季度的数据、只查询2012年第一季度数据写法是SEASON_inputime=1-2012 |
NULL_字段=true | 查询字段是空值 v4.62以上支持 |
NOTNULL_字段=true | 查询字段是非空值 v4.62以上支持 |
字段=值 | 字段条件查询,例如title=123,表示主题title=123的数据 |
适用于 module、table、form、mfrom、member、related循环标签的条件查询
常用例子:
查询今天的新闻news模块内容:
{module module=news DAY_updatetime=0} {$t.updatetime}<br> {/module} {$debug}
查询本月的新闻news模块内容:
{module module=news MONTH_updatetime=0} {$t.updatetime}<br> {/module} {$debug}
查询上月的新闻news模块内容:
{module module=news MONTH_updatetime=E0} {$t.updatetime}<br> {/module} {$debug}
查询上月的新闻news模块内容:
{module module=news MONTH_updatetime=E1} {$t.updatetime}<br> {/module} {$debug}
查询上月到现在的新闻news模块内容:
{module module=news MONTH_updatetime=1} {$t.updatetime}<br> {/module} {$debug}
查询去年到现在的新闻news模块内容:
{module module=news YEAR_updatetime=0} {$t.updatetime}<br> {/module} {$debug}
查询当前季度的新闻news模块内容:
{module module=news SEASON_updatetime=0} {$t.updatetime}<br> {/module} {$debug}
查询2012年第四季度的新闻news模块内容:
{module module=news SEASON_updatetime=4-2012} {$t.updatetime}<br> {/module} {$debug}
查询本周的新闻news模块内容:
{module module=news WEEK_updatetime=0} {$t.updatetime}<br> {/module} {$debug}
查询上周的新闻news模块内容:
{module module=news WEEK_updatetime=E1} {$t.updatetime}<br> {/module} {$debug}
查询2019年整的新闻news模块内容:
{module module=news YEAR_updatetime=2019} {$t.updatetime}<br> {/module} {$debug}
JSON通配符,匹配多条件查询:
{module module=news JSON_fuxuankuang=2|3|4} {$t.title}<br> {/module} {$debug} 这个是查询fuxuankuang字段包含2,3,4的选项数据
如果在内容页中可以查询当前复选框值关联的其他内容,写法是:
{php $fkx = implode('|', $fuxuankuang);} {module module=news NOT_id=$id JSON_fuxuankuang=$fkx} {$t.title}<br> {/module} {$debug}
查询指定坐标范围内容的10KM内的数据(其中,ditu是后台创建的模块字段,类型为百度地图格式):
{module module=news MAP_ditu=104.081462,30.657414|10 order=ditu} {$t.title} 距离:{$t.ditu_map} 米 <br> {/module} {$debug}
其中,ditu是自定义的百度地图字段。