| NordWest пишет:Проблема в коде есть - вылезла и на моём форуме.Вызвана тем, что при расчёте номера последней страницы не учитываются прикреплённые посты. Пока думаю как поправить.
 
 Совершенно верно, при расчете количества страниц (P) учитывается только общее количество постов в теме (N) и количество сообщений на странице (n), которое задается в профиле у каждого пользователя
 
 CODE:P = 1 + floor( N / n ) где функция floor() - округление в меньшую сторону
 
 При наличии (m) прикрепленных сообщений в теме (отображаются вверху на каждой странице) количество страниц правильнее считать по формуле
 
 CODE:P1 = 1 + floor( (N - m) / (n - m) ) 
 Пример
 
 CODE:58 сообщений, 3 прикрепленных, 15 сообщений на страницеN = 58, m = 3, n = 15
 
 P = 1 + floor( N / n ) = 1 + floor( 58 / 15 ) = 1 + floor( 3,866666666666667 ) = 1 + 3 = 4
 
 P1 = 1 + floor( (N - m) / (n - m) ) = 1 + floor( (58 - 3) / (15 - 3) ) =
 = 1 + floor( 55 / 13 ) = 1 + floor( 4,230769230769231 ) = 1 + 4 = 5
 
 P.S. Обязательно нужно делать проверку что n > m!
 |