[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Количество записей
Roman-z
Моя проблема с следующем:
Есть запрос на выборку всех новостей, записанных в базе
$do = mysql_query ("SELECT * FROM news ORDER by id DESC");
$res = mysql_fetch_array ($do);
После этого запроса я получаю id каждой новости, в масиве
$res[id]
Теперь нужно получить количество комментариев к каждой новости из таблицы "comments", и вообщем, если задать условие
WHERE id_news = '$res[id]'
нихрена ничего не выдет верно.

Короче, моя башка никак не додумалась, как сделать это, поэтому прошу помощи. :)



Спустя 10 минут, 42 секунды (23.04.2012 - 19:26) alexbel2404 написал(а):
SELECT count(*) FROM comments WHERE id_news = (int)$res['id']

А так?

Спустя 1 час, 7 минут, 22 секунды (23.04.2012 - 20:33) Roman-z написал(а):
alexbel2404, возвратило два числа 17 (хоть к одной новости у меня 6 комм.)
То есть, наверное, в запрос подставилось только первое значение $res[id], а не весь массив.
=======================================================
Да, пробовал по отдельности подставлять значение id новости (не масивом), и возвращалось то значение которое мне нужно.

Спустя 7 минут, 49 секунд (23.04.2012 - 20:41) alexbel2404 написал(а):
$res = mysql_fetch_array ($do); эту строку в цикле while прогнать нужно, и не нужно mysql_fetch_array юзать, используй mysql_fetch_assoc

Спустя 24 минуты, 40 секунд (23.04.2012 - 21:06) Roman-z написал(а):
alexbel2404, а можно, пожалуйста, подробнее о прогонке через while? Что именно нужно в цикле сделать?

Спустя 9 минут, 5 секунд (23.04.2012 - 21:15) alexbel2404 написал(а):
SELECT `id`.`news` as id, (SELECT count(*) FROM `comments` WHERE `id_news` = `id`.`news`) as count_comment FROM `news` ORDER by id DESC


Попробуй такой запрос, только добавь еще поля из таблицы news в вывод, после первого select. Как потом вывести данные циклом - гугли)

Спустя 3 дня, 33 минуты, 13 секунд (26.04.2012 - 21:48) Roman-z написал(а):
alexbel2404, если я в запросе
SELECT `id`.`news` as id, (SELECT count(*) FROM `comments` WHERE `id_news` = `id`.`news`) as count_comment FROM `news` ORDER by id DESC
Пишу условие
 WHERE id_news = $res[id]
Не выходит.

Пробывал заганять этот запрос в цикл while
while ($res = mysql_fetch_assoc ($do))
{
$get_count_com = mysql_query("SELECT 'id_news' AS id, (SELECT COUNT(*) FROM comments WHERE id_news = $res[id]) AS count_comment FROM news ORDER BY id DESC");
$res_count_com = mysql_fetch_assoc ($get_count_com);
;
}
Всё равно возвращается только значение первой записи. Укажите, пожалуйста, на ошибку user posted image

Сорри, если я сильно туплю user posted image
Быстрый ответ:

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