<?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]
$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去重一下,再轉成字符串。