年前,在一个企业网站定制的案例中,基于Phpcms V9要求对产品进行多级筛选,于是涉及到自定义多条件调用数据列表,新年新气象、再接再励,CMSYOU在这里与大家分享使用GET语句自定义Phpcms V9多条件调用数据列表的方法!
我们知道,Phpcms V9中调用采用的代码是:
{pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page"}<ul class="list lh24 f14">{loop $data $r}<li><span class="rt">{date('Y-m-d H:i:s',$r[inputtime])}</span>·<a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a></li>{if $n%5==0}<li class="bk20 hr"></li>{/if}{/loop}</ul><div id="pages" class="text-c">{$pages}</div>{/pc}
在这里,我们设想一下,如果前端模板要按用途来调用产品列表,把用途作为Tab,一个Tab显示一个用途,应该怎么来定义这个数据?
首先,我们在模型中添加一个字段为“function”作为用途,采用下拉选项菜单的方式,预先定义好几个用途可选,假定这几个选项的字段ID为1、2、3、4。
那么可以用下面的代码调用“function”字段ID为1这一用途的产品:
{pc:content action="lists" catid="6" moreinfo="1" where="function=1" num="8" order="id DESC"}{loop $data $r}<li>·<a href="{$r[url]}" title="{$r[title]}" class="cmsyou">{str_cut($r[title],64)}</a></li>{/loop}{/pc}
这样,就可以出栏目ID为6这一产品栏目(图片模型)用途ID为1的8个产品。
同样的道理,你也可以使用GET语句来做到这一调用:
{pc:get et sql="select * from cmsyou_pictures where catid=6 and function=1 order by id desc" rows="8" return="data"}{loop $data $r}<li>·<a href="{$r[url]}" title="{$r[title]}">{str_cut($r[title],64)}</a></li>{/loop}{/pc}
需要注意的是,上面的代码是通过GET语句,指定了数据库的表头cmsyou_pictures,于是你在使用的时候,要根据表头和模型所在的分表来自定义修改。
{pc:get et sql="select * from cmsyou_pictures where catid=6 and function=1 order by id desc" rows="8" return="data"}
其中条件使用了上面使用了Where进行筛选,当满足catid=6和function=1两个条件的时候就进行调用,如果要更多层条件筛选,大家可以尝试多个and或者or并从。
欢迎留言在CMSYOU上探讨研究成果,Enjoy it!
下一页,将探讨Lankecms这一ASP程序在数据库调用上的多条件筛选。
点击加载更多