cms/ target=_blank class=infotextkey>帝国cms在首页中随机调用所有栏目文章
复制代码 代码示例:
[e:loop={'select * from [!db.pre!]ecms_news where checked=1 order by rand() desc limit 10',10,24,0}]
<li><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> </li>
[/e:loop]
上面10随机调用10条内容。
怎么实现高效的帝国cms信息随机调用?
很多人喜欢用ORDER BY RAND()随机调用,随机调用是最耗资源的一种调用方式,信息数在1万以上随机调用就开始影响速度。使用时建议慎之又慎。
可以参考如下思路:
先用php随机出信息ID,然后SQL调用用id in (php随机的ID列表)
例子:
复制代码 代码示例:
<?php
$randnum=10; //随机数量
$randids='';
$randdh='';
for($i=1;$i<=$randnum;$i++)
{
$randids.=$randdh.rand(1,100000); //1为最小ID,100000为最大ID
$randdh=',';
}
?>
[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片,"id in ($randids)"}]
模板代码内容
[/e:loop]
使用php随机数,然后结合万能标签调用随机文章,性能上会有一个大的提升。