有很多小伙伴在使用yzmcms制作模板中,经常遇到第一条数据是带缩略图,其他的则是普通列表形式的数据,如图所示:实现这种的标签方案有两种
实现这种的标签方案有两种
{m:lists field="title,thumb,url,description,updatetime,click" catid="6" limit="1"} {loop $data $v} <li class="sup"> <a href="{$v[url]}" title="{$v[title]}"> <p>{$v[title]}</p> <img src="{get_thumb($v['thumb'])}" alt="{$v[title]}"> <div class="txt"> <div class="detail">{$v[description]}</div> </div> </a> </li> {/loop} <ul> {m:lists field="title,thumb,url,description,updatetime,click" catid="6" limit="1,7"} {loop $data $v} <li> <span></span><a href="{$v[url]}" title="{$v[title]}">{$v[title]}</a> <i class="time">{date('m月d日',$v['updatetime'])}</i> </li> {/loop} </ul>
其中 limit="1,7" 表示跳过第一条,也就是从第二条开始,调用7条数据
这种查询方式也可以实现,不过当MySQL数据量过大时,查询两次数据库会加大数据库压力,
来看第二种实现方式
{m:lists field="title,thumb,url,description,updatetime,click" catid="6" limit="8"} {php $data_top[0] = array_shift($data);} {loop $data_top $v} <li class="sup"> <a href="{$v[url]}" title="{$v[title]}"> <p>{$v[title]}</p> <img src="{get_thumb($v['thumb'])}" alt="{$v[title]}"> <div class="txt"> <div class="detail">{$v[description]}</div> </div> </a> </li> {/loop} <ul> {loop $data $v} <li> <span></span><a href="{$v[url]}" title="{$v[title]}">{$v[title]}</a> <i class="time">{date('m月d日',$v['updatetime'])}</i> </li> {/loop} </ul>
只查询一次数据库,通过PHP实现数据分离,提高查询效率