Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с выборкой из базы! Кол-во комментариев статьи в разделе... 
:(
    Опции темы
Lloyd
Дата 14.2.2004, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 19.7.2003

Репутация: нет
Всего: нет



Не могу придумать как сделать следующее.
Имеется в БД таблица статей articles. Из нее делаеться следующая выборка:

Код

$result = mysql_query("SELECT article_title, article_description, article_date  FROM articles WHERE section_id='$section'", $link);

while ($row = mysql_fetch_array($result)) {

echo $row['article_title'];
echo $row['article_description'];
echo $row['article_date];

}

то есть я вывожу список статей принадлежащих к одному из разделов.

Также имеется другая таблица с комментариями к каждой статье comments: article_id (id статьи), section_id (id разедела), comment (комментарий). Например, если к статье с article_id=53 имеется 6 комментариев то в таблице comments имееться 6 записей с одинаковым полем article_id=53.

Как подсчитать кол-во записей у каждой статьи в отдельности да еще и в конкретном разделе? То есть вывести кол-во комментариев статьи в цикле while представленом выше?
PM MAIL   Вверх
Dexter
Дата 14.2.2004, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



SELECT COUNT(article_id) as count FROM comments WHERE article_id="id", section_id="id"


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Lloyd
Дата 14.2.2004, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 19.7.2003

Репутация: нет
Всего: нет



Не-а, в том то вся и проблема: WHERE article_id="id" не катит т.к. это самое id статьи еще не получено (я его получаю из строки запроса уже в конкретной статье, а в данном случае я вывожу список статей по id раздела).

Иными словами я могу сделать выборку числа комментариев для всего раздела, а для конкретной статьи не получаеться... Может я создал неудачную структуру (одна таблица для статей, другая для комментариев)? Может надо как-то использовать связь таблиц, но как ?

Заблудился в трех соснах...
PM MAIL   Вверх
Secandr
Дата 14.2.2004, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



SQL
SELECT COUNT(c.coment_id), a.article_title,a.article_id,a.article_description' FROM articles `a` LEFT JOIN comments `c` ON c.article_id=a.article_id GROUP BY a.article_id


Читай в манулах про JOIN - объединение двух таблиц и GROUP - группировка.
P.S. Не факт, что запрос будет работать, но логика такая.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.