phpcms:如何实现间隔N条后调取一条,并且循环调取
<ul>
<li>0</li>
<li>4</li>
<li>8</li>
</ul>
像这样一直循环调取显示的方法?? 展开
你的问题里提到了两个词,一个是“显示”,一个是“调取”,这在phpcms模板制作里是分开执行的两个动作。所以我们分开来说明:
如果你说的这种有规律的循环间隔注重的是“调取”后台数据的时候完成,那么需要使用pc表签的get模式直接执行sql命令,并在sql命令中指定规律性算法的命令条件,例如:
{pc:get sql="select * from phpcms_news as r where mod(r.id,4) = 0" num="10"}
... ...
{/pc}
以上方法相对来说比较复杂,需要有一定的数据库命令基础。当然一般的phpcms标签没有这么复杂,也实现不了这么发杂的定制,一般用不着。推荐使用下面第二种...
如果你说的这种有规律的循环间隔注重的是“显示”的时候实现,也就是数据已经获取到了,比如从第1条到第10条,然后你想循环判断显示出序号是0,4,8条的数据,可以在phpcms的loop标签循环变量数据是坐下求余判断即可:
{pc:content action="lists" catid="1" num="10" order="id desc"}
{loop $data $v}
{if $n%4==0}
<li>{$n}<a href="{$v['url']}">{$v['title']}</a></li>
{/if}
{/loop}
{/pc}
PS:第二条的情况比较像我以前回答的问题,可以参考:http://zhidao.baidu.com/question/368960660256180724;更多phpcms模板制作方法可以参考官方开发手册以及iphpcms的视频教程。
目的是实现同一页面下:
这个ul调取0、4、8、12...条数据
0
...
这个ul调取1、5、9、13...条数据
1
...
这个ul调取2、6、10、14...条数据
2
...
这个ul调取3、6、10、14...条数据
3
...