详情页

帝国cms高效的随机调用方法

时间:2023年11月07日

编辑:佚名

帝国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]
调用距离2:
<?php
$randnum=12;        //随机数量
$randids='';
$randdh='';
for($i=1;$i<=$randnum;$i++)
{
        $randids.=$randdh.rand(1,200000);        //1为最小ID,100000为最大ID
        $randdh=',';
}
?>
          [ecmsinfo]"select * from phome_ecms_news  where id in ($randids) limit 12",40,40,0,24,2,0[/ecmsinfo]
相关文章
猜你需要