Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчитать колличество комментариев для каждого автора
 
 автор: serjinio   (22.09.2008 в 18:46)   письмо автору
 
 

Здравствуйте .Помогите решить задачу...
Делаю выборку из таблицы скрипта комментариев..для каждой статьи p_id
<?
 $res
=mysql_query"SELECT 
 DATE_FORMAT(`date`, '%d-%m-%Y') AS`dat`, 
 `id_comment`,
 `id_page`,
 `author`,
 `comment`,
  FROM `comments`
  WHERE `id_page`= '" 
.$rwr['p_id']."'  
  "
$db);
echo 
' <br> Комментариев к статье : '.mysql_num_rows($res);

while (
$rw=mysql_fetch_array($res))
{

echo 
' автор:  '.$rw['author'] .'коментариев :'.???.'
<p>'
.htmlspecialchars($rw['comment']).'</p>';

}


И подсчет к-ва комментов для каждого автора
<?
$r
=mysql_query("SELECT `author`,COUNT(comment) AS cnt FROM  `comments` GROUP BY `author` "$db);

while (
$rww=mysql_fetch_array($r))
{
echo 
' <br>'.$rww['author']. '----> '.$rww['cnt'];
}


Получается два цикла а мне надо чтобы было все в одном

помогите... как одним запросом вывести комментарии к статье и подсчитать общее колличество комментариев для каждого автора

  Ответить  
 
 автор: serjinio   (23.09.2008 в 00:20)   письмо автору
 
   для: serjinio   (22.09.2008 в 18:46)
 

Подскажите реально ли это сделать???

  Ответить  
 
 автор: serjinio   (23.09.2008 в 03:01)   письмо автору
 
   для: serjinio   (23.09.2008 в 00:20)
 

Пробовал
<?
$ress
=mysql_query("SELECT 
c.author           AS c_a,
c.comment          AS s_com,
COUNT  (s.comment) AS cnt
FROM      comments AS c
LEFT JOIN comments AS s
ON        c.author = s.author
GROUP BY  s.author
WHERE c.id_page =16
"
$db);

while (
$rww=mysql_fetch_array($ress))
{
echo 
' <br>'.$rww['c_a']. '---->'.$rww['cnt'].'------->>>'.$rww['s_com'];
}


но как ставлю условие WHERE для конкретной страницы кричит о ошибке....

  Ответить  
 
 автор: xx77   (23.09.2008 в 06:10)   письмо автору
 
   для: serjinio   (23.09.2008 в 03:01)
 

WHERE всегда должно быть перед GROUP BY

SELECT [STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[LIMIT [offset,] rows | rows OFFSET offset]
[PROCEDURE procedure_name(argument_list)]
[FOR UPDATE | LOCK IN SHARE MODE]]

  Ответить  
 
 автор: serjinio   (23.09.2008 в 14:35)   письмо автору
 
   для: xx77   (23.09.2008 в 06:10)
 

Не..... не помогло........
Тысяча извинений....в первом варианте помогло...
огромнейшее спасибо за помощь!!!

  Ответить  
 
 автор: serjinio   (23.09.2008 в 20:12)   письмо автору
 
   для: serjinio   (23.09.2008 в 14:35)
 

Забыл выложить рабочую версию
<?php
 $res
=mysql_query("SELECT 
 DATE_FORMAT(`date`, '%d-%m-%Y') AS`dat`, 
 DATE_FORMAT(`date`, '%k:%i') AS `t`,
 `id_comment`,
 `id_page`,
 `author`,
 `email`,
 `url`,
 `comment`,
 `approved`,
  COUNT(`comment`) AS cnt
  FROM `comments`
  WHERE `id_page`= '" 
.$rwr['p_id']."' 
  GROUP BY `author`
  "
$db);
echo 
' <h3>'.mysql_num_rows($res).' Комментариев к статье “'.$rwr['p_t'].'”</h3>'
while (
$rw=mysql_fetch_array($res))
{
echo 
'<li class="alt" id="comment-'.$rw['id_comment'].'">';

if (
$rw['approved']==0) echo $rw['author']. ' <span class="n-com"> (Комментариев: '.$rw['cnt'].')</span>';
if (
$rw['approved']==1) echo '<noindex><a href="'.$rw['url'].'" rel="external nofollow">'.$rw['author'].'</a></noindex><span class="n-com"> (Комментариев: '.$rw['cnt'].')</span>';
if (
$rw['approved']==2) echo '<a href="'.$rw['url'].'">'.$rw['author'].'</a><span class="n-com"> (Комментариев: '.$rw['cnt'].')</span>';
--------------------
echo 
'<p>'.htmlspecialchars($rw['comment']).'</p>';
}
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования