帝国CMS实现高效随机文章调用的2种方法
发布时间:2022-09-25作者:帝国建站网
看不少人喜欢用ORDER BY RAND()随机调用,随机调用是最耗资源的一种调用方式,信息数在1万以上随机调用就开始影响速度。使用时建议慎之又慎。
如果确实要使用,可以用下面思路:
第一种方法
<?php
$num=10;$total=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_{$class_r[4]['tbname']} where classid=4");
$start=$total-$num;
$table=$class_r[4]['tbname'];
if($start<1){$start=0;}else{
$start=mt_rand(0,$start);}
?>
[e:loop={'select * from '.$dbtbpre.'ecms_'.$table.' limit '.$start.','.$num,10,24,0}]<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)"}]
模板代码内容
[/e:loop]相关帝国教程
- 03-23帝国cms列表页的内容简介samlltext字段怎么格式化html代码
- 03-17帝国cms增加字段提示Row size too large的解决方法教程
- 04-09帝国CMS几个函数RepPostVar,RepPostVar2,RepPostStr,RepPostStr2的用法
- 04-16帝国CMS列表页内容显示判断文章来源,并带连接的方法
- 01-25帝国cms程序在php5.3版本环境下 验证码都是相同数字或者字母的解决方法
- 07-19帝国CMS时间多少天几天前的显示代码
- 11-27帝国cms安全吗
- 02-01帝国cms模板利用JS使当前栏目无限级高亮控制显示的方法!
- 10-17帝国cms内容页调用正文附件下载的代码
- 02-24IIS环境下开启TAG伪静态
- 02-15帝国CMS首页调用已注册会员人数和最新会员名称
- 07-29帝国CMS列表页内容模板随机插入增加广告
- 03-06帝国CMS灵动标签调用排除重复链接的文章
- 03-12帝国CMS会员通过推广链接获得点数奖励的功能
- 08-03帝国cms数据表phome_ecms_infotmp_news
- 08-24帝国cms信息反馈开启验证码
- 04-20帝国CMS上传生成的随机文件名前面增加自定义前缀
- 07-31帝国CMS栏目ID+结合项伪静态
- 10-03帝国CMS列表页面模板 如何调用父栏目ID
- 07-16帝国cms标题设置了加粗、颜色等属性如何在内容页显示