帝国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]
相关帝国教程
- 12-04帝国CMS自定义导航栏目支持当前栏目高亮的又一教程
- 08-12帝国cms如何删除会员空间功能模块
- 04-22帝国CMS灵动标签调用反馈信息
- 11-28帝国CMS实现会员资料不可修改
- 07-25帝国CMS教程加入购物车方法
- 06-16帝国CMS内容模板获取动态下载地址链接
- 05-03帝国CMS教程删除tags标签空
- 07-09帝国CMS视频播放页的在线观看地址实现当前播放名称加亮高亮
- 03-02帝国CMS灵动标签调用文章相关关联id文章(和关键字、tag一样的功能)
- 04-08帝国CMS怎么在信息前面添加new最新图标
- 10-22帝国CMS后台添加关键字时自动复制到TAGS(同步更新)的方法
- 06-01帝国cms调用会员名及投稿数量排名
- 01-23帝国CMS RSS调用方法说明
- 04-28帝国CMS模板中获取当前选择的播放器名称代码
- 09-10帝国cms反馈信息
- 08-03帝国cms数据表phome_ecms_infotmp_news
- 03-06帝国CMS内容页模板实现键盘翻页的方法和代码是什么
- 02-16帝国CMS调用会员名和会员投稿数量排名
- 10-19帝国CMS灵动标签判断字段为某值
- 03-24帝国cms留言板是怎样增加信息的