일부 MySQL의 시험은 내가 첫 번째 게시물 (주문에 의해를 잡기 위해 노력하고있어 기본적으로phpbb 게시물 정렬. 원래 게시물은 먼저 날짜순으로 내림차순으로 정렬됩니다. 여기에서 오류가 발생 내 최신 시도의 최종 결과입니다
SELECT result.* FROM (SELECT p.post_id FROM phpbb_posts p WHERE p.topic_id = 297 limit 1 ORDER BY p.post_time ASC UNION SELECT p.post_id FROM phpbb_posts p WHERE p.topic_id = 297 ORDER BY p.post_time DESC) result ORDER BY result.id LIMIT 10
(답 내가 MySQL의 질문에 대한 여기에 본 적이 기준) p.post_time 오름차순 한도 1), 가장 최근 게시물을 먼저 표시하려면 항목의 내림차순으로 추가하십시오.
phpbb의 포럼에서 찾을 수있는 지원이 없습니다 (예 : 제어판에서 설정할 수 있지만 원래 게시물은 주제 끝에 표시됩니다). 이 쿼리에 대한 viewtopic.php의
실제 코드는 (적어도 나는 그것을 변경하려면 올바른 위치 믿습니다) :
$sql = 'SELECT p.post_id
FROM ' . POSTS_TABLE . ' p' . (($join_user_sql[$sort_key]) ? ', ' . USERS_TABLE . ' u': '') . "
WHERE p.topic_id = $topic_id
" . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p.post_approved = 1' : '') . "
" . (($join_user_sql[$sort_key]) ? 'AND u.user_id = p.poster_id': '') . "
$limit_posts_time
ORDER BY $sql_sort_order";
$result = $db->sql_query_limit($sql, $sql_limit, $sql_start);
나는이 잠시에서있었습니다. 나는 게으른 게 아니라 적어도 오늘 밤은 피곤하고 내 깊이에서 빠져 나간다.
감사합니다.
아마 by' 위해'전에 오류를 던지고 원래의 게시물을 포함하지 않는 확인하는 것입니다 그리고 당신이
T2
에서 'result.id'하지만 거기에 하위 쿼리에 'id'라는 열이 없습니다. –