Есть запрос на выборку всех новостей, записанных в базе
$do = mysql_query ("SELECT * FROM news ORDER by id DESC");После этого запроса я получаю id каждой новости, в масиве
$res = mysql_fetch_array ($do);
$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 новости (не масивом), и возвращалось то значение которое мне нужно.
То есть, наверное, в запрос подставилось только первое значение $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, если я в запросе
Пробывал заганять этот запрос в цикл while
Сорри, если я сильно туплю
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);
;}

Сорри, если я сильно туплю
