Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Посчитать кол-во статей и вывести сумму

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
leshiy
Отправлено: 11 Декабря, 2013 - 20:27:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Народ помогите пожалуйста!
Есть две бд
1)categories id, title
2)date id, cat
нужно посчитать сколько статей(cat) в бд date и вывести результат напротив каждой категории.
У меня вот что получилось
PHP:
скопировать код в буфер обмена
  1.  
  2.                    <?
  3.   $result1 = mysql_query ("SELECT COUNT(id) FROM date WHERE cat='$cat'",$db);
  4. $sum1 = mysql_fetch_array($result1);
  5. $result2 = mysql_query("SELECT * FROM categories",$db);
  6. if (!$result2)
  7. {
  8. echo "<p>Запрос не возможен</p>";
  9. }
  10. if (mysql_num_rows($result2) > 0)
  11. {
  12. $myrow2 = mysql_fetch_array($result2);
  13. do
  14. {
  15. printf ("<li>&nbsp;&nbsp;<a title='%s' href='view_cat.php?cat=%s'><strong>%s<strong></a>- %s",$myrow2["title"],$myrow2["id"],$myrow2["title"],$myrow1["cat"]);
  16. }
  17. while ($myrow2 = mysql_fetch_array($result2));
  18. }
  19. else
  20. {
  21. echo "<p>В бд нет записей.</p>";
  22. exit();
  23. }
  24.  ?>
  25.  

но выводятся только категории без подсчета статей.
 
 Top
LIME
Отправлено: 11 Декабря, 2013 - 20:34:45
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(1) FROM date GROUP BY cat

(Добавление)
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(1) AS cnt, cat FROM date GROUP BY cat
 
 Top
leshiy
Отправлено: 12 Декабря, 2013 - 13:11:55
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




LIME пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(1) FROM date GROUP BY cat

(Добавление)
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(1) AS cnt, cat FROM date GROUP BY cat


Так тоже не получается.
 
 Top
lodka981
Отправлено: 12 Декабря, 2013 - 16:22:58
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Нояб. 2013  


Помог: 0 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1.  
  2. $result1 = mysql_query ("SELECT COUNT(id) FROM date WHERE cat='$cat'",$db);
  3. $sum1 = mysql_fetch_row($result1);
  4. $total_sum1 = $sum1[0];
  5.  

Может так?

(Отредактировано автором: 12 Декабря, 2013 - 16:23:14)

 
 Top
leshiy
Отправлено: 12 Декабря, 2013 - 18:07:42
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




lodka981 пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result1 = mysql_query ("SELECT COUNT(id) FROM date WHERE cat='$cat'",$db);
  3. $sum1 = mysql_fetch_row($result1);
  4. $total_sum1 = $sum1[0];
  5.  

Может так?


неа так тоже не выходит.
 
 Top
esterio
Отправлено: 12 Декабря, 2013 - 18:13:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




PHP:
скопировать код в буфер обмена
  1. $query = 'SELECT C.*, COUNT(D.id) AS c_count FROM categories AS C LEFT JOIN `date` AS D ON(C.id = D.cat) GROUP BY C.id';
  2. if($result = mysql_query($query))
  3. {
  4.         while($row = mysql_fetch_assoc($result))
  5.         {
  6.                 var_dump($row);
  7.         }
  8. }
 
 Top
leshiy
Отправлено: 12 Декабря, 2013 - 20:37:55
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




esterio пишет:
PHP:
скопировать код в буфер обмена
  1. $query = 'SELECT C.*, COUNT(D.id) AS c_count FROM categories AS C LEFT JOIN `date` AS D ON(C.id = D.cat) GROUP BY C.id';
  2. if($result = mysql_query($query))
  3. {
  4.         while($row = mysql_fetch_assoc($result))
  5.         {
  6.                 var_dump($row);
  7.         }
  8. }


Извините а Вы не могли бы этот код в мой вставить а то у меня выводятся вообще все данные из таблицы categories
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB