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
Форумы портала PHP.SU :: Версия для печати :: Посчитать кол-во статей и вывести сумму
Форумы портала PHP.SU » » Вопросы новичков » Посчитать кол-во статей и вывести сумму

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

1. leshiy - 11 Декабря, 2013 - 20:27:52 - перейти к сообщению
Народ помогите пожалуйста!
Есть две бд
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.  

но выводятся только категории без подсчета статей.
2. LIME - 11 Декабря, 2013 - 20:34:45 - перейти к сообщению
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
3. leshiy - 12 Декабря, 2013 - 13:11:55 - перейти к сообщению
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


Так тоже не получается.
4. lodka981 - 12 Декабря, 2013 - 16:22:58 - перейти к сообщению
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.  

Может так?
5. leshiy - 12 Декабря, 2013 - 18:07:42 - перейти к сообщению
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.  

Может так?


неа так тоже не выходит.
6. esterio - 12 Декабря, 2013 - 18:13:46 - перейти к сообщению
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. }
7. leshiy - 12 Декабря, 2013 - 20:37:55 - перейти к сообщению
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

 

Powered by ExBB FM 1.0 RC1