discuz

推荐列表 站点导航

当前位置:首页 > 建站教程 > discuz >

discuz X3.4 diy随机调用帖子

来源:网络整理  作者:网络  发布时间:2020-12-10 07:07
简单的说,就是每隔一段时间(自己设定的数据缓存时间),即使没有新帖子,这个diy模块所调用的帖子也会变。 方...
LIMIT $startrow,$items;"

就是在数据查询的外层加上了判断,如果是随机排序,查询里排序条件就用ORDER BY rand(),否则按原本的排序条件。 FROM `".DB::table('forum_thread')."` t
$orderby = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends','rands')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';
$lastposter = !empty($parameter['lastposter']) ? $parameter['lastposter'] : '';
array('recommends', 'threadlist_orderby_recommends'),
$sqlfrom WHERE {$maxwhere}t.readperm='0'
}else{
$orderby = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';
$sql
改为
$lastposter = !empty($parameter['lastposter']) ? $parameter['lastposter'] : '';

简单的说,就是每隔一段时间(自己设定的数据缓存时间),即使没有新帖子,这个diy模块所调用的帖子也会变。
2.打开/source/class/block/forum/block_thread.php,找到
ORDER BY t.$orderby DESC
之下增加

AND t.displayorder>='0'
改为
3.找到
ORDER BY t.$orderby DESC
AND t.displayorder>='0'
$query = DB::query("SELECT DISTINCT t.*$sqlfield
$query = DB::query("SELECT DISTINCT t.*$sqlfield
array('rands', '随机'),
);
$sqlfrom WHERE {$maxwhere}t.readperm='0'
其实就是增加了,'rands'
if($orderby=='rands'){
$query = DB::query("SELECT DISTINCT t.* $sqlfield FROM `".DB::table('forum_thread')."` t $sqlfrom WHERE {$maxwhere}t.readperm='0' $sql AND t.displayorder>='0' ORDER BY rand() LIMIT $startrow,$items;");


}
具体操作:
);
1.打开/source/class/block/forum/block_threadhot.php,找到
LIMIT $startrow,$items;"

FROM `".DB::table('forum_thread')."` t
$sql
方式:加个选项,然后查询数据的时候把这个选项作为一个条件,选它就按它来调用。

相关热词: 调用 discuz

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jz/discuz/2081.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

discuz X3.4 diy随机调用帖子

2020-12-10 编辑:网络

LIMIT $startrow,$items;"

就是在数据查询的外层加上了判断,如果是随机排序,查询里排序条件就用ORDER BY rand(),否则按原本的排序条件。 FROM `".DB::table('forum_thread')."` t
$orderby = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends','rands')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';
$lastposter = !empty($parameter['lastposter']) ? $parameter['lastposter'] : '';
array('recommends', 'threadlist_orderby_recommends'),
$sqlfrom WHERE {$maxwhere}t.readperm='0'
}else{
$orderby = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';
$sql
改为
$lastposter = !empty($parameter['lastposter']) ? $parameter['lastposter'] : '';

简单的说,就是每隔一段时间(自己设定的数据缓存时间),即使没有新帖子,这个diy模块所调用的帖子也会变。
2.打开/source/class/block/forum/block_thread.php,找到
ORDER BY t.$orderby DESC
之下增加

AND t.displayorder>='0'
改为
3.找到
ORDER BY t.$orderby DESC
AND t.displayorder>='0'
$query = DB::query("SELECT DISTINCT t.*$sqlfield
$query = DB::query("SELECT DISTINCT t.*$sqlfield
array('rands', '随机'),
);
$sqlfrom WHERE {$maxwhere}t.readperm='0'
其实就是增加了,'rands'
if($orderby=='rands'){
$query = DB::query("SELECT DISTINCT t.* $sqlfield FROM `".DB::table('forum_thread')."` t $sqlfrom WHERE {$maxwhere}t.readperm='0' $sql AND t.displayorder>='0' ORDER BY rand() LIMIT $startrow,$items;");


}
具体操作:
);
1.打开/source/class/block/forum/block_threadhot.php,找到
LIMIT $startrow,$items;"

FROM `".DB::table('forum_thread')."` t
$sql
方式:加个选项,然后查询数据的时候把这个选项作为一个条件,选它就按它来调用。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jz/discuz/2081.shtml

相关文章

风云图片

推荐阅读

返回discuz频道首页