读取并调用数据源的数据

利用数据源功能,可以调用远程MySQL数据源或本地SQLite库,以及当前KingCMS数据库中的数据,并且以KingCMS标签形式在模板里调用其数据。

返回记录总数 {king:dbquery.count/}

返回查询对应的记录总数。结构为:
{king:dbquery.count table="数据表名称" where="查询条件" name="数据源名称"/}
若调用当前KingCMS数据库时,数据库表前缀可以使用 %s_
当不指定name值的时候,读取的是当前KingCMS系统数据库。

[p]文章总数 : {king:dbquery.count table="%s__article" where="kid1=0"/}篇[/p]
[p]论坛主题贴 : {king:dbquery.count table="%s__bbs" where="kid1=0"/}[/p]
[p]论坛回复贴 : {king:dbquery.count table="%s__bbs" where="kid1<>0"/}[/p]
[p]注册会员总数 : {king:dbquery.count table="%s_user" /}人[/p]

支持属性

标签属性数据类型说明
table字符串数据库表名称,这个参数是必须的。
where字符串查询条件,限制查询范围,属性值开头不用写where
name字符串当指定name值的时候,从数据源管理里定义的数据源名称对应的数据库中进行查询

组合应用
循环调用所有模型下面的记录总数。

{king:portal.model}/*循环读取模型*/
____[p]{king:modelname/} : {king:dbquery.count table="%s__(king:modeltable/)" where="kid1=0"/}[/p]
{/king:portal.model}

调用已定义的数据源总记录集统计的时候,需要指定name值

[p]文章总数 : {king:dbquery.count name="test" table="king__article" where="kid1=0"/}篇[/p]

简单查询 {king:dbquery.select/}

简单的对数据库进行查询,支持属性有数据表(table)、调用数量(number=10)、条件检索(where)、字段集(sql=*)、排序(orderby)、跳过前几项(skip=0)

{king:dbquery.select table="%s__article" sql="kpath,ktitle" number="5" orderby="kid desc" }
____[p][a href="{king:kpath/}"]标题:{king:ktitle/}[/a][/p]
{/king:dbquery.select}
table属性是必须的。
循环体内的标签为字段名称,内容调用标签中的稍有不同,注意区别。

支持属性

标签属性数据类型说明
table字符串数据库表名称,这个参数是必须的。
sql字符串数据表下面的字段列表,不填写默认为*,即全部字段
where字符串查询条件,限制查询范围,属性值开头不用写where
orderby字符串排序,根据orderby指定的参数进行排序,属性值开头不用写order by
number数字调用记录的数量
skip数字跳过skip属性里指定数量的记录后开始显示
name字符串当指定name值的时候,从数据源管理里定义的数据源名称对应的数据库中进行查询

完整查询 {king:dbquery/}

直接利用完整的SQL查询语句,对数据库进行查询,只有一个必须属性:query。

{king:dbquery query="select ktitle,kpath from %s__Article where kid1=0 order by kid desc limit 0,3 "}
____[p][a href="{king:kpath/}"]{king:ktitle/}[/a][/p]
{/king:dbquery}

支持属性

标签属性数据类型说明
query字符串数据库查询SQL语句
name字符串当指定name值的时候,从数据源管理里定义的数据源名称对应的数据库中进行查询

使用示例