# seg0ro (02.10.2013 / 07:11)
Простых вещей не знаем.
У меня одноклассник не знает что такое cms / сук, а выпендривается, будто всезнающий в этом деле
разделив таблицы постов от структуры многое проще сделать будет, изначально я даже создал 5 таблиц, но минус в том что вложенность ограничена, но плюсов тоже хватает
по поводу не прочитанного, имхо просто по времени последнего входа проверять темы, пусть не скинет при прочтении, но и таблицу иметь отдельную не нужно
# web_demon (01.10.2013 / 21:47)
$req = mysql_query("SELECT * FROM `forum` WHERE `type` = 't' AND `close`!='1' ORDER BY `time` DESC LIMIT 10");
while ($arr = mysql_fetch_array($req))
{
$q3 = mysql_query("sel
Вполне можно "сджойнить"
$req = mysql_query("SELECT `forum`.`text`, `newforum`.`text` as `razdel`, `rforum`.`text` as `rname`, COUNT(`messages`.`refid`) as `count` FROM `forum` LEFT JOIN `forum` as `newforum` ON `forum`.`refid`=`newforum`.`id` LEFT JOIN `forum` as `rforum` ON `newforum`.`refid`=`rforum`.`id` LEFT JOIN `forum` as `messages` ON `forum`.`id`=`messages`.`refid` WHERE `forum`.`type` = 't' AND `forum`.`close` != '1' GROUP BY `messages`.`refid` ORDER BY `forum`.`time` DESC LIMIT 10") or die(mysql_error());
while ($arr = mysql_fetch_array($req))
{
echo 'Название темы: '.$arr['text'] . '<br />';
echo 'Название раздела: '.$arr['razdel'] . '<br />';
echo 'Название основного раздела: '.$arr['rname'] . '<br />';
echo 'Количество сообщений: '.$arr['count'] . '<br />';
}
А нельзя сделать непрочитанным только те темы в которые ты писал и отвечал? Зачем мне например читать то что мне вообще не надо...
Nurbekov, сделать можно, надо вообще данную систему как и структуру переделывать
# Nurbekov (21.10.2013 / 09:47)
А нельзя сделать непрочитанным только те темы в которые ты писал и отвечал? Зачем мне например читать то что мне вообще не надо...
тогда коже по разделу отрубать.
Почитал, подумал... Обсуждать, конечно, это вопрос можно долго и упорно. Можно предлагать кучу решений/костылей. Но не кажется ли Вам, уважаемые, что проще сделать как-то примерно так
Избавиться вообще от такого пережитка, как непрочитанное
Вместо непрочитанного - выводить юзеру ссылку на последние ответы в топиках и линк на ответы со времени его последнего прочтения (где-то тут уже подобное было упомянуто)
Добавить в табличку users поле с последним прочтением топиков юзером и от него потом плясать.
И не надо думать, как выводить непрочитанное.
Если пользователь хочет посмотреть активные темы - то ему в последние обновленные (вообще все, за определенный период, например, с возможностью выбора периода).
Если то, что он еще не видел - выводим те топики, которые обновлялись после "отметки о прочтении".
Сбросить непрочитанное таким образом можно элементарно - просто обновить юзеру поле "last read" - по ссылке.
Может написано не совсем грамотно, может немного сумбурно, но смысл, я думаю, понятен.
я об этом давно еще писал