Мне нужно что-то типа этого - Комментариев: 5
Вот мой запрос:
$c = mysql_query ( " SELECT COUNT(*) FROM `comments` WHERE `a_id` = '$id' ");
Выводится - Комментариев: Resource id #8
Спустя 6 минут, 11 секунд (10.03.2011 - 16:19) Snus написал(а):
$c = mysql_query ( " SELECT COUNT(*) FROM `comments` WHERE `a_id` = '$id' ");
$cnt = mysql_result($c, 0);
echo $cnt;
Спустя 4 минуты, 10 секунд (10.03.2011 - 16:24) Sexy Devil написал(а):
спасибо, получилось!
Спустя 10 минут, 23 секунды (10.03.2011 - 16:34) m4a1fox написал(а):
Snus
У меня вопрос... В чем разница, объясните?
У меня вопрос... В чем разница, объясните?
$c = mysql_query ( " SELECT id FROM `comments` WHERE `a_id` = '$id' ");
$cnt = mysql_num_rows($c);
echo $cnt;
Спустя 1 минута, 36 секунд (10.03.2011 - 16:36) Snus написал(а):
m4a1fox
mysql_query() выполняет запрос в мускул, а mysql_result, mysql_fetch_assoc - достают результаты. Это если на простом языке.
mysql_query() выполняет запрос в мускул, а mysql_result, mysql_fetch_assoc - достают результаты. Это если на простом языке.
Спустя 3 минуты, 5 секунд (10.03.2011 - 16:39) Trianon написал(а):
Цитата (m4a1fox @ 10.03.2011 - 16:34) |
У меня вопрос... В чем разница, объясните?
|
Запрос SELECT id FROM `comments`WHERE `a_id` = '$id' ... вытаскивает из сервера БД в сервер приложения (php) все выбранные строки.
php определяет количество вытащеных строк и использует его где надо.
Запрос SELECT COUNT(*) FROM `comments`WHERE `a_id` = '$id' ... вытаскивает из сервера БД одну единственную строку с уже посчитанным на стороне БД ответом.
Спустя 2 минуты, 3 секунды (10.03.2011 - 16:41) Snus написал(а):
m4a1fox
mysql_num_rows() Считает кол-во строк из результата обращения к БД. В нашем случае нужно достать значение COUNT(*)
mysql_num_rows() Считает кол-во строк из результата обращения к БД. В нашем случае нужно достать значение COUNT(*)
Спустя 1 минута, 24 секунды (10.03.2011 - 16:42) m4a1fox написал(а):
Snus
Ага. Теперь ясно. Соответственно COUNT(*) куда быстрее чем то что я написал?! Так получается?
Ага. Теперь ясно. Соответственно COUNT(*) куда быстрее чем то что я написал?! Так получается?
Спустя 7 минут, 53 секунды (10.03.2011 - 16:50) Sexy Devil написал(а):
еще вопрос, как это всё вывести там где нет
я так сделал:
просто подсчиталось общее число комментов...
`a_id`? выводятся статьи, снизу каждой статьи должно быть написано - Комментариев: .... ,
я так сделал:
$c = mysql_query ( " SELECT COUNT(*) FROM `comments` " );
$cnt = mysql_result($c, 0) ;
просто подсчиталось общее число комментов...
Спустя 1 минута, 7 секунд (10.03.2011 - 16:51) alex12060 написал(а):
В какой-то степени да)
Спустя 27 секунд (10.03.2011 - 16:52) m4a1fox написал(а):
Sexy Devil
Смотри как я это реализовал....
Смотри как я это реализовал....
$query = mysql_query("SELECT COUNT(*) FROM `comment` WHERE `id_mail`=".(int)$view."");
$cnt = mysql_result($query, 0);
if ($cnt == 0)
{
echo '<div class="underline">
<div class="underline_text">
Нет комментариев.
</div>
</div>';
}
else
{
echo '<div class="underline">
<div class="underline_text">
Всего комментариев — ('.$cnt.')
</div>
</div>';
}
Спустя 3 минуты, 10 секунд (10.03.2011 - 16:55) alex12060 написал(а):
$query = mysql_query("SELECT COUNT(*) FROM `comment` WHERE `id_mail`=".(int)$view."") or die(mysql_error());
$cnt = mysql_result($query, 0);
echo '<div class="underline">
<div class="underline_text">';
if ($cnt == 0) echo 'Нет комментариев.'; else echo 'Всего комментариев — ('.$cnt.')';
echo '</div>
</div>';
Спустя 1 минута, 17 секунд (10.03.2011 - 16:56) alex12060 написал(а):
Sexy Devil
Опиши подробней, я не понял)
Опиши подробней, я не понял)
Спустя 1 минута, 47 секунд (10.03.2011 - 16:58) m4a1fox написал(а):
alex12060
Ай спасибо, так спасибо. Очень интересное решение.... Очень. И код укарачивает.
Ай спасибо, так спасибо. Очень интересное решение.... Очень. И код укарачивает.