Новые сообщения на форуме

RomikChef

Guest
я думал, у деда маленький косяк в голове, хотел сразу поправить про номера страниц. потом увидел про нечитанные мессаги и мне стало дурно.
Человек действительно не втыкает в то, что он делает.
когда сообразит - тогда и про страницы дойдет.
Если до крематория успеет, конечно
 

Varg

Guest
кстати, непонятно, что это еще за хрен с горы
Я вас тоже премного уважаю наш уважаемый уважатель :) Хех.

А насчёт остального ты мало прав. Таких форумов достаточно много, и один из них делал я сам.

И что тут сложного я не вижу ну никак.

Единственное только надо точно определить, сколько будет народу там, ибо например в ПХПКлубе данная система былабы совершенно некстати
 

Varg

Guest
про нечитанные мессаги и мне стало дурно
Логика подхода конечно странная, особенно насчёт перехода сразу к первому непрочитанному сообщению :)

Имхо наиболее логична система как тут, но отмечать прочитанные только при заходе.

Кстати, дедушка, поясни мне вот что, что ты понимаешь под словом тема и сообщение?

А то может тут вышла неувязочка в терминологии?
 

RomikChef

Guest
Варг. Я три года читаю разные форумы. Десятки человек кидались заявлениями о том, что они знают много форумов, который корректно отмечают непрочитанные сообщения

Не всякую хрень вроде "новые за последние 15 секунд" или "непрочитанные со времени последнего захода на форум", а простое и деревянное: читал - отмечено. Не читал - отмечено.
 

Varg

Guest
линк, немногословный вы наш, был бы в моём профайле, был бы этот форум открыт для внешнего мира :)

Впрочем как и остальная часть этого проекта.


(Зато какая горячая тема вышла! Всего то за 1.5 часа)
 

Varg

Guest
Ромик, не вы один, не вы один...

Не всякую хрень вроде "новые за последние 15 секунд" или "непрочитанные со времени последнего захода на форум", а простое и деревянное: читал - отмечено. Не читал - отмечено.
Это вообще примитивно. И делается одним запросом.

А прочитанные сообщения "видел-прочитано" что вам тут кажется сложного?

Увидел тему/топик, изъял массив ИДшников, составил запрос (2 запроса, если информация о текущем пользователе ещё не получалась) и обновил БД для тек.пользователя вставив все ИД туда.

А прочитано/нет это if (!strstr($USER['IDLINE'],"|" . $CurID . "|") {

Если вы конечно понимаете о чём я...
 

RomikChef

Guest
Варг, а ты ведь тупишь безбожно.
На пару с дедулей.
сомневаюсь я, что ты просто форум написать можешь, не говоря уже о тракинге новых сообщений.

, но видимо быстрее (не уверен) будет хранить
И какие же там титанические расчеты надо делать, чтобы вычислить номер страницы, которую надо показать?
взять номер последнего просмотренного сообщения и поделить с округлением в меньшую строну на количество сообщений на странице (по барабану, какое оно - хоть 10 хоть 100) - это будет медленно?
 

Дед Анвирыч

Новичок
Ромик, ну сразу вящик отправли... :(
Varg, В теме есть n сообщений на m страницах. Первое непрочитанное сообщение (для каждого юзера) начинается после даты date (дата последнего просмотра). Есть список тем. Когда я вывожу список тем около каждой темы должна быть кнопка - ПЕРЕЙТИ К ПЕРВОМУ НЕПРОЧИТАННОМУ. Эта ссылка должна указывать НА СТРАНИЦУ И СООБЩЕНИЕ НА НЕЙ, которое является первым непрочитанным. Еще есть условие: если перове непрочитанное сообщение на странице k, а пользователь перешел не на нее, а на страницу r (r<k), то вся тема при этом не считается прочитанной, а также остается дата, после которой сообщения ясляются новыми. Так же если пользователь читает сообщение на странице k+k1 (k+k1<m), то новыми сообщениями считаются все, начинающиеся со страницы k+k1+1. Вопрос!!! Если сообщения на новые и старые мы можем разделить по их дате, то КАК РАСЧИТАТЬ НА КАКОЙ СТРАНИЦЕ ЭТОСООБЩЕНИЕ НАХОДИТСЯ? Хранить номер страницы для каждого сообщения в БД или расчитывать номер страницы при каждом показе списка тем и при каждом просмотре темы?
 

Varg

Guest
Ромик, мне кажется вы сами мало что можете, если не опираться на шаблонные проекты многократно сделанные множеством людей.

это будет медленно
Я хоть раз, хоть гденибудь написал, что это будет МЕДЛЕННО? А? Ты читать умеешь? А думать?

Я сказал может быть медленнее будет выбор одного этомента из БД, чем поик максимального элемента + WHERE


переходить на СТРАНИЦУ
Это значит лезть в базу

Не так ли? А сам расчёты на стороне ПХП вообще в расчёт не идут.

Мне кажется вам надо было идти не в программисты
 

RomikChef

Guest
линк, немногословный вы наш, был бы в моём профайле, был бы этот форум открыт для внешнего мира
Все ясно.
понты кидать мы умеем, а за слова отвечать - все совершенно секретно. обнинская ядерная термостанция, террористы не дремлют. как бы меня в органы не забрали...

Тема горячая от того, что в нее пишут оюди, которые в ней ничего не понимают. Нет, я не себя имею в виду.

Увидел тему/топик, изъял массив ИДшников, составил запрос (2 запроса, если информация о текущем пользователе ещё не получалась) и обновил БД для тек.пользователя вставив все ИД туда.
понятно. После этого пассажа разговаривать с тобой не имеет смысла.
чтобы не быть голословным, в отличие от некоторых, поясню.
возвращаемся к классическому топику в хуморе про таблицу x=y*3
ну конечно - хранить айдишники всех прочитанных сообщений - это, конечно, самый оптимальный метод. Чудесно.
тысяча юзеров, тысяча сообщений. Умножить, я думаю, даже дедуля наш сподобится.
 

Frenk

Guest
Вот не удержался я. Ну не смог...
Ромик, не трать нервы.
Ответьте себе на один-единственный вопрос -
что важнее - скорость работы или гребаные непрочитанные мессаги в том виде, в каком ВЫ их видите?
 

RomikChef

Guest
мессаги, однозначно!
я, блин, этот вбуллетин читать не мог, когда его здесь поставили, с его тупой системой!

пофигу скорость (которая и пострадает не сильно - если с умом). главное - юзабилити.
 

RomikChef

Guest
Дедуля, заканчивай тупить.
мне этот топик уже надоедать стал.

Пишешь в базу ТОЛЬКО время просмотра темы.
Если страниц больше, чем одна, то вместо времени просмотра пишешь время последней мессаги на этой странице.
Дальше объяснять, или сам?
 

Frenk

Guest
Ай. Нафиг это спор.
Я вааще никогда не обращаю внимания на прочитано/нет из-за плохой реализации (не только на этом форуме).
А тут ГЛАВНАЯ страница, которая показывает Последние ответы на форуме.
Есть ф-ция - смотреть новые и т.д. Ну чем плохо? Зачем копья ломать?
Со временем форумы разрастаются (этот - яркий пример) и эти главные странички + e-mail и т.д. обеспечивают пресловутую юзабилити.
ИМХО.
 

Frenk

Guest
Сорри, Ромик, опоздал, не прочитал - жму твою руку.
 

Alien

Новичок
Я пообедал и стал добрым.

>расчитывать номер страницы при каждом показе списка тем и при каждом просмотре темы?

нафига? лишние запросы.
Делай ссылку на страницу, которая рассчитает куда надо отфутболить посетителя (<keyword>location</keyword>).

кстати, предположим я посмотрел 15-ю страницу, но не смотрел предыдущие 14.
Это как?
 
Сверху