Функция для форума

ShVad

JSmart CMS
Функция для форума

Привет.

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

Можно сделать таблицу:
user_id | topic_id (необходимо ли делать поле id ?)

Каким способом можно приделать это к статусу форума?
 

zerkms

TDD infected
Команда форума
обсуждается с периодичностью раз в 2 недели
поищи
 

Фанат

oncle terrible
Команда форума
ShVad
ещё нужна дата.
иначе ты заманаешься из этой таблицы удалять сообщения, когда кто-то написал в тему.
А вообще, реализация этой задачи нетривиальная, и действительно - лучше почитать уже имеющиеся обсуждения
 

ShVad

JSmart CMS
Я почитал пару тем. Но не совсем то, что хотелось.

Например пользователь заходит в тему. Создается запись в таблице: user_id | topic_id | time | (id записи надо или нет?)

Потом он просматриват список тем. Как привязать эту таблицу к списку тем?

Через ссесии конечно без нагрузки, но после удаления ссесии как быть? Может создавать массиф, $topic_read[$tid] он будет выдавать статус... Перепорга массива много есть ресурсов?

И если например Я почистил лог просмотров. надо как то по дате сделать? Например если месяц не был на форуме - то это уже не новая тема.?
 

Фанат

oncle terrible
Команда форума
Кто тебе мешает ответить на свои вопросы самостоятельно?
 

ShVad

JSmart CMS
Не совсем уверен, что так правильно.

user_id | topic_id | time | (id записи надо или нет?)

Перебор массива много есть ресурсов?

Например если месяц не был на форуме - то это уже не новая тема.?
 

Фанат

oncle terrible
Команда форума
Ну так возьми, и протестируй на имеющемся форуме.
Невозможно всё на свете предвидеть. И невозможно всё на свете разжевать в теории.
Функция эта не критическая. Если пару раз покажет неправильный топик - ничего страшного не случится.

Делай, экспериментируй, пробуй. От практики ты получишь в сто раз больше пользы, чем за год сидения на форуме.

перебор массива есть столько ресурсов, какого размера массив.
причем это правило одинаковое для любого действия.
перенос кирпичей ест столько ресурсов, сколько кирпичей: мало кирпичей - мало ресурсов. много кирпичей - много ресурсов.

Ответ на втой вопрос, вроде бы, очевиден. А ты какого ждал?
 

ShVad

JSmart CMS
Придумал алгоритм)

Осталось выяснить надо ли держать ид строки?

>Ответ на втой вопрос, вроде бы, очевиден.
Т.Е перебор массива много тратит? Если например сделать в нем 20 строк (=кол-ву тем на стр) ?
 

Фанат

oncle terrible
Команда форума
Ид строки тебе нужен?

ты никогда не перебирал массив в своей жизни?
 

ShVad

JSmart CMS
Перебирал.

Думаю ID нужен)

-~{}~ 01.01.08 18:29:

Хотя зачем мне ID записи?

Буду перебирать по topic_id.

На скорость запроса MySQL не влияет есть или нет ид?

-~{}~ 01.01.08 19:00:

Сделал такую таблицу:

topic_id int(11)
user_id mediumint(8)
time varchar(40)

Возник вопрос: Надо ли сделать поле forum_id для уменьшения выводимых данных? Тогда можно будет сделать LIMIT...
 

Фанат

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

и вообще джойном ,мне кажется ,можно
 
Сверху