白马号博客

迅睿CMS条件循环修饰符、通配符

作者:白马号 时间:2024-09-15 10:15:15 阅读量:0

在条件查询循环时需要用到的修饰符


修饰符
介绍
LIKE_字段
模糊匹配查询,例如LIKE_title=%名称%,表示like title '%名称%'
NOTLIKE_字段
是LIKE的反条件  v4.62以上支持
JSON_字段用于查询json数据格式,["123","456"]
NOTJSON_字段是JSON的反条件  v4.62以上支持
FIND_字段用于查询Members,Related字段的数据格式,FIND_IN_SET语法1,2,3,4,5,7
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天内的数据、
只查询昨天数据写法是DAY_inputtime=E1、指定天数查询DAY_inputtime=2020-1-2,2020-2-2

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}

{/module} {$debug}

查询本月的新闻news模块内容


{module module=news MONTH_updatetime=0}
{$t.updatetime}

{/module} {$debug}

查询上月的新闻news模块内容


{module module=news MONTH_updatetime=E0}
{$t.updatetime}

{/module} {$debug}

查询上月到现在的新闻news模块内容


{module module=news MONTH_updatetime=1}
{$t.updatetime}

{/module} {$debug}

查询去年到现在的新闻news模块内容


{module module=news YEAR_updatetime=0}
{$t.updatetime}

{/module} {$debug}

查询当前季度的新闻news模块内容


{module module=news SEASON_updatetime=0}
{$t.updatetime}

{/module} {$debug}

查询2012年第四季度的新闻news模块内容


{module module=news SEASON_updatetime=4-2012}
{$t.updatetime}

{/module} {$debug}


查询本周的新闻news模块内容


{module module=news WEEK_updatetime=0}
{$t.updatetime}

{/module} {$debug}

查询上周的新闻news模块内容


{module module=news WEEK_updatetime=E1}
{$t.updatetime}

{/module} {$debug}


查询2019年整的新闻news模块内容


{module module=news YEAR_updatetime=2019}
{$t.updatetime}

{/module} {$debug}

JSON通配符,匹配多条件查询


{module module=news JSON_fuxuankuang=2|3|4}
{$t.title}

{/module} {$debug}


这个是查询fuxuankuang字段包含2,3,4的选项数据

如果在内容页中可以查询当前复选框值关联的其他内容,写法是:


{php $fkx = implode('|', $fuxuankuang);}
{module module=news NOT_id=$id JSON_fuxuankuang=$fkx}
{$t.title}

{/module} {$debug}


查询指定坐标范围内容的10KM内的数据(其中,ditu是后台创建的模块字段,类型为百度地图格式)

{module module=news MAP_ditu=104.081462,30.657414|10 order=ditu}
{$t.title}
距离:{$t.ditu_map} 米
{/module} {$debug}