帝国论坛帝国网站管理系统交流区帝国CMS使用交流发个比较高效的随机调用方法 【本版专题贴子】  
 1/13     1 2 3 4 5 6 7 8 9 10 ›› ›|
主题:发个比较高效的随机调用方法 [加入收藏夹]   

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :48941
经验值   :114161
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
发个比较高效的随机调用方法

看不少人喜欢用ORDER BY RAND()随机调用,随机调用是最耗资源的一种调用方式,信息数在1万以上随机调用就开始影响速度。使用时建议慎之又慎。
如果确实要使用,可以用下面思路:
先用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]

[该贴被修改 1 次,最后修改时间 2010-12-27 11:31:28 ]


[零基础入门教程] [模板制作教程] [采集使用教程]
2010-12-27 11:29:34 已设置保密 顶部 回复 引用 报告 编辑 删除

pw8
用户头衔:探花

精华贴   :0
发贴数   :8672
经验值   :22279
注册时间:2008-10-10
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

支持




2010-12-27 11:31:06 已设置保密 顶部 回复 引用 报告 编辑 删除

linyu227
用户头衔:举人

精华贴   :1
发贴数   :97
经验值   :650
注册时间:2008-09-21
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

不会吧,才发出来,我从你微博转到我的群里好半天了。



ecms-blog
2010-12-27 11:32:30 已设置保密 顶部 回复 引用 报告 编辑 删除

huilan
用户头衔:探花

精华贴   :0
发贴数   :3945
经验值   :9780
注册时间:2009-02-04
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

谢谢老大




2010-12-27 11:32:31 已设置保密 顶部 回复 引用 报告 编辑 删除

chcker
用户头衔:进士

精华贴   :0
发贴数   :588
经验值   :2711
注册时间:2007-06-16
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

感谢老大,非常棒




2010-12-27 11:36:04 已设置保密 顶部 回复 引用 报告 编辑 删除

188cn
用户头衔:探花

精华贴   :0
发贴数   :9148
经验值   :21447
注册时间:2008-10-25
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

这个必须顶




2010-12-27 11:39:00 已设置保密 顶部 回复 引用 报告 编辑 删除

51niu
用户头衔:秀才

精华贴   :0
发贴数   :83
经验值   :534
注册时间:2010-04-17
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

我这样的用的,,,
<?php
$randnum=12;        //随机数量
$randids='';
$randdh='';
for($i=1;$i<=$randnum;$i++)
{
        $randids.=$randdh.rand(1,200000);        //1为最小ID,100000为最大ID
        $randdh=',';
}
?>
          [ecmsinfo]"select * from phome_ecms_news  where id in ($randids) limit 12",40,40,0,24,2,0[/ecmsinfo]



http://www.taobaojianfei.net 淘宝减肥
2010-12-27 11:41:32 已设置保密 顶部 回复 引用 报告 编辑 删除

yingnt
用户头衔:嘉宾

精华贴   :6
发贴数   :6831
经验值   :19372
注册时间:2006-01-01
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持




模板定制,开发,v7.2 qq,微博,百度登陆出售等 www.ecmsjz.cn QQ 415204
可长期合作!
dedecms转帝国7.2

帝国群:48024477

2010-12-27 11:42:20 已设置保密 顶部 回复 引用 报告 编辑 删除

悟空
用户头衔:探花

精华贴   :0
发贴数   :2660
经验值   :6770
注册时间:2007-11-27
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

支持




2010-12-27 11:49:17 已设置保密 顶部 回复 引用 报告 编辑 删除

hui52002
用户头衔:进士

精华贴   :0
发贴数   :455
经验值   :2215
注册时间:2009-02-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

必须的。。。




2010-12-27 11:59:08 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/13     1 2 3 4 5 6 7 8 9 10 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1