帝国cms内容页随机调用当前栏目10篇文章的高效写法

<?php
$randnum=10; //随机数量
$randids='';
$randdh='';
for($i=1;$i<=$randnum;$i++)
{
$randids.=$randdh.rand(1,400000); //1为最小ID,100000为最大ID
$randdh=',';
}
?>
[e:loop={4,10,0,0,"id in ($randids)"}]
<li><a href="<?=$bqr['titleurl']?>"><?=$bqr['title']?></a> <span class="cdzz"> 
<a class="works-dynsty"><?=$bqr['chaodai']?></a> :<a class="works-author"><?=$bqr['writer']?></a> </span></li>
[/e:loop]

这段代码有个bug,没有获取到最大的ID,其二就算获取了最大的ID。在ID不连续的情况会出现。随机的id可能不存在,调用少了!正确的应该是把$randids转成数组,用array_unique去重一下,再转成字符串。

本文内容来源自互联网,如您觉得侵犯了您的权益, 请联系我,本站将立刻删除!

本文链接:http://www.sanyecao.com/article/44.html