[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_query и mysql_num_rows в 1 запросе с JOIN
in9emix
Здравствуйте, есть 2 таблицы. В одной новости. В другой имена пользователей которые подписались на новости.

mysql_query для вывода информации в массив

mysql_num_rows подсчитывает количество строк

В 2 запроса всё получается, но хочу в 1 запрос.

Почему? Потому что mysql_num_rows в моем случае работает только в цикле. Я не хочу нагружать бд.



Спустя 7 минут, 30 секунд (17.06.2012 - 02:43) waldicom написал(а):
Необходимо узнать, сколько человек подписались на определенную новость?
Тогда смотреть в сторону (LEFT) JOIN и GROUP BY
Только такое делают часто тремя таблицами: новости, пользователи и mapping (id новости, id пользователя)

Спустя 4 часа, 24 минуты, 27 секунд (17.06.2012 - 07:07) in9emix написал(а):
Верно. у меня есть 3 таблицы: новости, юзеры и таблица где с подписчиками но сделав соединение через LEFT JOIN он не считает строки...

Спустя 4 часа, 39 минут, 31 секунда (17.06.2012 - 11:47) varvar написал(а):
Цитата

Необходимо узнать, сколько человек подписались на определенную новость?


если просто количество подписчиков нужно, то может так?


SELECT `n`.`id`, COUNT(`s`.`uid`) AS `s_cnt` FROM `news` `n`
LEFT JOIN `subscriptions` `s` ON `n`.`id`=`s`.`newsid`
GROUP BY `n`.`id`, `s`.`uid`

Спустя 1 час, 48 минут, 9 секунд (17.06.2012 - 13:35) in9emix написал(а):
Мне не просто надо вывести количество подписчиков, мне нужно что бы выводились и сами новости, автор, дата и т.д...в принципе то что и сейчас выводиться. Просто все выводится циклом, и когда делаю еще один запрос mysql_num_rows не в цикле то количество подписчиков везде 1...

Когда там 100, 200 и т.д...

Мне нужно что бы mysql_num_rows не мешало выводу этой информации.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.