Не уверен, что вы действительно хотите. Либо вы можете отобразить узлы + количество комментариев или узлов и комментариев на одном уровне, но тогда у них не будет общего числа, потому что они все разделены? Или вы хотите показать каждый комментарий отдельно вместе с количеством комментариев в этой теме?
Если последнее, это может быть не тривиально.
По сути, вы можете создать запрос UNION Select и выполнить запрос как к узлу, так и к таблице комментариев. может выглядеть так:
(SELECT 'node' AS type, n.nid as id, n.title as title, nncs.comment_count as comment_count, n.created as timestamp FROM {node} n INNER JOIN {node_comment_statistics} nncs ON n.nid = nncs.nid)
UNION
(SELECT 'comment' AS type, c.cid as id, c.subject as title, cncs.comment_count as comment_count, c.timestamp as timestamp FROM {comments} c INNER JOIN {node_comment_statistics} cncs ON c.nid = cncs.nid)
ORDER BY timestamp DESC LIMIT 10;
Это вернет результат, содержащий: узел / комментарий | id | название | comment_count | метка времени.
См. http://dev.mysql.com/doc/refman/5.1/en/union.html для получения дополнительной информации о UNION.
Затем вы можете создать тему в виде таблицы.
Советы:
- Если вам нужно больше данных, либо расширьте
запрос или используйте узел / comment_load
- Вы также можете присоединиться к {узлу} в
второй запрос и использовать заголовок узла
вместо темы комментария
- Этот запрос будет медленным
потому что это всегда будет делать сортировку файлов
потому что у вас есть союз там. Это
на самом деле может быть быстрее, чтобы выполнить
два отдельных запроса, а затем искалечить
они вместе в PHP, если у вас есть
большое количество узлов / комментариев