Если одна таблица, то:
SELECT *
FROM forum
WHERE pid=необходимый_pid
ORDER BY id DESC
LIMIT 3;
если 2 то:
SELECT tree.id, coment.text
FROM forum_tree as tree, forum_text as coment
WHERE tree.pid=необходимый_pid and tree.id=coment.id
ORDER BY tree.id DESC
LIMIT 3;
или через join таблицу с каментами присоеденить
Действительно можно в одной таблице держать дерево, т.е. только id и pid, и по ней делать селекты. Таблица, из-за того что будет содержать только 2 числовых поля, будет легкой и быстрой. А в другой держать 2 поля id и text. в первой выбираете идешники необходимых записей и потом только сопоставлять значения из второй. Но все равно наверно лучше 2 запроса использовать: первым выбирать последние 10 родителей, вторым выбирать последние 3 потомка для указанного родителя. И в итоге выбрали список родителей первым запросом, потом (тем же аяксом) в цикле для каждого родителя вторым запросом сопоставили по 3 комментария-потомка
Ну логирование это понятно, только не хочется держать и писать постоянно логи, при этом создавая дополнительную нагрузку на жесткий диск и уменьшать быстродействие и так не особо быстрой системы. Хотелось текущую ситуацию просто посмотреть при надобности. И логически должна быть связь между сессиями и открытыми файлами.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
SELECT *
FROM forum
WHERE pid=необходимый_pid
ORDER BY id DESC
LIMIT 3;
если 2 то:
SELECT tree.id, coment.text
FROM forum_tree as tree, forum_text as coment
WHERE tree.pid=необходимый_pid and tree.id=coment.id
ORDER BY tree.id DESC
LIMIT 3;
или через join таблицу с каментами присоеденить