这个是mysql语句有问题
找到/source/class/table/table_forum_post.php里的fetch_all_debatepost_viewthread_by_tid
替换下面内容- public function fetch_all_debatepost_viewthread_by_tid($tid, $visibleallflag, $authorid, $stand, $forum_pagebydesc, $ordertype, $start, $limit) {
-
- $data = array();
- $parameter = $this->handle_viewthread_parameter($visibleallflag, $authorid, $forum_pagebydesc, $ordertype, 'p.');
-
- $query = DB::query("SELECT dp.*, p.* FROM %t p LEFT JOIN %t dp ON p.pid=dp.pid WHERE p.tid=%d".
- ($parameter['invisible'] ? ' AND '.$parameter['invisible'] : '').($parameter['authorid'] ? ' AND '.$parameter['authorid'] : '').
- (isset($stand) ? ' AND (dp.stand=%d OR p.first=1)' : ' AND (dp.stand=0 OR dp.stand IS NULL OR p.first=1)').
- ' '.$parameter['orderby'].
- ' '.DB::limit($start, $limit),
- array(self::get_tablename('tid:'.$tid), 'forum_debatepost', $tid, $stand));
- while($post = DB::fetch($query)) {
- $data[$post['pid']] = $post;
- }
- return $data;
- }
复制代码 |