Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывести комменты к статьям
 
 автор: SHAman   (26.08.2007 в 16:12)   письмо автору
 
 

Пишу блог. В админке есть пункт "Комментарии". Хотелось бы вывести туда что-то типа:

Название статьи, количество комментов (ссылка, с id статьи)

Причем, вывести это нужно (внимание!) в порядке убывания даты добавления комментария!
Никак не могу составить запрос...
Структура БД:


states
========
id
header
date


comments
========
id
comment
datetime


Помогите инвалиду

   
 
 автор: AlexelA   (26.08.2007 в 18:49)   письмо автору
 
   для: SHAman   (26.08.2007 в 16:12)
 

Насколько я вас понял ("ссылка, с id статьи" - я понимаю так: id статьи соответствует id комментария ), ваш запрос будет примерно таким:

SELECT st.header as 'заголовок',count(*) as 'количество'
FROM states st, comments com
WHERE st.id = com.id
GROUP BY com.id
ORDER BY MAX(com.datetimer) DESC

это с учетом того, что заголовок поля datetime таблицы comments будет переименован в datetimer (да и в таблице states не помешало бы поменять заголовок поля date на что-либо другое).

   
 
 автор: SHAman   (27.08.2007 в 12:15)   письмо автору
 
   для: AlexelA   (26.08.2007 в 18:49)
 

Спасибо. Я ошибся. Конечно, тут не 1:1 соотношение. У одной статьи можеть быть несколько комментариев. То есть, я не дописал в comments поля id_state. То есть, нужно выбрать все статьи, в которых есть комментарии, а так же, количество комментариев в них и отсортировать по дате последнего комментария, во как!

Кстати, а зачем переименовывать date в datetimer?

   
 
 автор: AlexelA   (27.08.2007 в 18:22)   письмо автору
 
   для: SHAman   (27.08.2007 в 12:15)
 

Ранее написаный запрос должен полностью соответствовать вашим требованиям.
Я рекомендовал вам переименовать datetime в daetimer, а date во что-либо другое.
Причина: данные названия полей (datetime, date) совпадают с зарезервированными словами MySQL, что не есть хорошо (могут возникнуть проблемы). Но это была только рекомендация.

   
 
 автор: SHAman   (27.08.2007 в 19:09)   письмо автору
 
   для: AlexelA   (27.08.2007 в 18:22)
 

А я просто заключаю все имена таблиц-полей в `` ;)

Спасибо, запрос попробую.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования