Перейти к контенту

Очередной маразм в 1.2, 1.3


Рекомендуемые сообщения

Возникла проблема, часть постов исчезла.

Запрос сделал - есть, однако страницы с постами просто не отображаются.

Понял что дело в поле posts топика.

Оно содержит неправильное значение и функция build_pages (или как-то так) неправильно расчтывает количество страниц.

Начал рыть исходник и вот чего нашёл в Topics.php:

 

  if ( ! $DB->get_num_rows() )

  {

  if ($first >= $ibforums->vars['display_max_posts'])

  {

    // Get the correct number of replies...

   

    $newq = $DB->query("SELECT COUNT(pid) as pcount FROM ibf_posts p, ibf_members m WHERE p.topic_id=".$this->topic['tid']." and p.queued !=1 AND p.author_id=m.id");

    $pcount = $DB->fetch_row($newq);

 

....

 

Мараз выделен болдом.

1) Нафига связывается таблица ibf_members ? ИМХО лишнее это.

Этим можно добиться только то, что в pcount попадёт количество постов, оставленных зарегестрированными пользователями. Но если даже это надо то зачем делать INNER JOIN ? Просто and author_id > 0 :D

2) Зачем считать только зарегистрированных? Надо ведь общее количество постов в топике.

3) Зачем делать через $newq? Ведь "вложенных" запросов нет.

 

Может кто знает больше чем я?

Ссылка на комментарий
Поделиться на других сайтах

3) Зачем делать через $newq? Ведь "вложенных" запросов нет.

Зато сам этот запрос является вложенным.

Думаю в косяке 17 надо вернуть $newq обратно . :D

Ссылка на комментарий
Поделиться на других сайтах

>> ImUgh

ну даже если и вложенный то там дальше ничего нет

boink_it

и

exit()

 

и всё.

 

$newq не нужна

Т.е. результаты первого запроса уже не требуются.

Ссылка на комментарий
Поделиться на других сайтах

нет, ничем не мешает, просто она нафик не нужна. Код должен быть красивый и оптимальный
Ссылка на комментарий
Поделиться на других сайтах

нет, ничем не мешает, просто она нафик не нужна.
я один раз пробовал сделать $DB->query() в цикле $DB->fetch_row() (именно без параметров).

 

Потом долго не догонял, почему цикл срабатывает только один раз (не зацикливается :D).

 

Хотя это и не по теме ;)

Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.