帝国cms默认 [e:loop={"select * from [!db.pre!]ecms_news where classid='$GLOBALS[navclassid]' order by rand() desc limit 10",12,24,0}] 大数据生成肯定会卡爆,求高效写法 高效, 帝国
拉吉 发表于 2023-12-1 22:12 生成静态 此代码在id不连续的时候就会出现调用的数据不太准确了哦!难道生成静态就不占用资源吗!这是什么逻辑!你生成的时候不是也要把标签替换成PHP去执行生成吗?只是占用资源就post的时候
美文苑文学网 发表于 2023-12-1 22:18 此代码在id不连续的时候就会出现调用的数据不太准确了哦!难道生成静态就不占用资源吗!这是什么逻辑!你生成的时候不是也要把标签替换成PHP去执行生成吗?只是占用资源就post的时候 那这么写好呢
拉吉 发表于 2023-12-1 22:23 那这么写好呢[ol][e:loop={4,10,0,0,"id in ($randids)"}][url=]">[/url] : [/e:loop][/ol]复制代码 首先这段代码有个bug,没有获取到最大的ID,其二就算获取了最大的ID。在ID不连续的情况会出现。随机的id可能不存在,调用少了!正确的应该是把$randids转成数组,用array_unique去重一下,再转成字符串。