Нашел способ убрать 1 запрос в БД на форуме на странице viewforum.php
Вобщем открываем файл в блокноте и ридактируем...
Находим
if ($rowstart == 0) {
.......
}
это все можно убрать нафиг...эта фигня отвечает за вывод прикрепленных тем
далее ищем if ($rows != 0) {
там есть запрос
$result = dbquery(
"SELECT t.*, COUNT(p.post_id) AS thread_replies, tu1.user_name AS user_author, tu2.user_name AS user_lastuser, tp.poll_id FROM ".$db_prefix."threads t
LEFT JOIN ".$db_prefix."posts p USING(thread_id)
LEFT JOIN ".$db_prefix."users tu1 ON t.thread_author = tu1.user_id
LEFT JOIN ".$db_prefix."users tu2 ON t.thread_lastuser = tu2.user_id
LEFT JOIN ".$db_prefix."forum_thread_polls tp ON t.thread_id = tp.thread_id
WHERE t.forum_id='$forum_id' AND thread_sticky='0' GROUP BY thread_id ORDER BY thread_lastpost DESC LIMIT $rowstart,20"
);
меняем его на
$result = dbquery(
"SELECT t.*, COUNT(p.post_id) AS thread_replies, tu1.user_name AS user_author, tu2.user_name AS user_lastuser, tp.poll_id FROM ".$db_prefix."threads t
LEFT JOIN ".$db_prefix."posts p USING(thread_id)
LEFT JOIN ".$db_prefix."users tu1 ON t.thread_author = tu1.user_id
LEFT JOIN ".$db_prefix."users tu2 ON t.thread_lastuser = tu2.user_id
LEFT JOIN ".$db_prefix."forum_thread_polls tp ON t.thread_id = tp.thread_id
WHERE t.forum_id='$forum_id' GROUP BY thread_id ORDER BY thread_sticky DESC, thread_lastpost DESC LIMIT $rowstart,20"
);
обратите внимание на выделенное, это то что поменялось...
далее перед $threadsubject</td> надо вставить
".($data['thread_sticky'] == 1 ? "<img src='".THEME."forum/stickythread.gif' alt='".$locale['560']."' style='vertical-align:middle;'>" : "")."
Еще есть строка if ($threadcount == 0) {, её надо заменить на if ($numrows == 0) {
В этом случае пропадет таблица со строкой "темы форума", поэтому если наличие этой строки для вас критично, то гуляем мимо....
Фишка в том что сейчас есть 2 функции, одна выводит прикрепленные темы, а вторая - простые...в моем случае мы объеденили 2 функции в одну, а потом выводим сначала важные(прикрепленные) темы, а потом простые...сортировка по дате сохранена... |
|