帝国CMS高效随机调取方法

微信扫一扫,分享到朋友圈

帝国CMS高效随机调取方法
收藏 00

帝国CMS随机调用用’rand()’参数就可以了。

SQL随机调用方法

[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]

灵动标签随机调用方法

[e:loop={'selfinfo',8,0,0,'','rand()'}]
<li><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> </li>
[/e:loop]

下面这段是官方给出大数据高效随机调用方法,先用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)"}]
<li><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> </li>
[/e:loop]

不过这段中的调用数量是固定死的,不方便多次调用,这里封装成函数方法。

高效随机调用函数

<?php
$nuber=$empire->gettotal('select count(*) as total from phome_ecms_news');
function rands($num,$nubers){
$randnum=$num;
$randids='';
$randdh='';
for($i=1;$i<=$randnum;$i++){
$randids.=$randdh.rand(1,$nubers);
$randdh=',';
}
$allstr.=$randids;
        echo $allstr;
}
?>

首先查询所有信息总数,然后在赋值随机数量。

这段代码只需要写一次,可以重复多次调用。

调用方法

<?=rands(10,$nuber)?>

附上灵动标签的调用方法

[e:loop={0,1,3,0,"id in ('rands(1,$nuber)')"}]
<li><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> </li>
[/e:loop]

 

一个热爱互联网的咸鱼
上一篇

帝国CMS上传图片去掉自带的宽度和高度属性(亲测有效)

下一篇

帝国CMS过滤特殊字符及空格等特殊字符的方法

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

热门

    抱歉,30天内未发布文章!
返回顶部