请教您,关于帖子排序的问题。

imsun 1月前 50

因为是采集站,并且也采集了帖子时间。
发现一个问题就是,程序是按照 tid 或者 lastpid 进行排序的,
而不是根据帖子的发布/回复时间进行排序。

(亲测) 而 DZ 论坛,刚好和修罗相反,是根据 帖子时间 进行排序,而不是帖子 id.

该怎么修改呢?



是修改这部分吗 model/thread.func.php ? 该怎么修改呢。 数据库里的表是  create_date  和 last_date

// 查找 lastpid
function thread_find_lastpid($tid) {
	$arr = db_find_one("post", array('tid'=>$tid), array('pid'=>-1), array('pid'));
	$lastpid = empty($arr) ? 0 : $arr['pid'];
	return $lastpid;
}
// 更新最后的 uid pid
function thread_update_last($tid) {
	$lastpid = thread_find_lastpid($tid);
	if(empty($lastpid)) return;
	
	$lastpost = post__read($lastpid);
	if(empty($lastpost)) return;
	
	$r = thread__update($tid, array('lastpid'=>$lastpid, 'lastuid'=>$lastpost['uid'], 'last_date'=>$lastpost['create_date']));
	return $r;
}


最新回复 (4)
  • 今天 1月前
    引用 2
    route目录下的 forum.php
    第31行
    $threadlist = thread_find_by_fid($fid, $page, $pagesize, $orderby);
    改为
    $threadlist = thread_find_by_fid($fid, $page, $pagesize, ‘create_date’);

    即按照 发表时间排序
  • 游客 1月前
    引用 3
    游客也能回帖
  • 游客 1月前
    引用 4
    真的能
  • imsun 2天前
    引用 5
    今天 route目录下的 forum.php 第31行 $threadlist = thread_find_by_fid($fid, $page, $pagesize, $orderby); 改为 ...
    这个方法对于 栏目列表页面可行,
    但是 首页 不行。
  • 游客
    6
返回
发新帖