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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Dezmonds
Отправлено: 21 Мая, 2011 - 00:13:01
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Май 2011  


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




Подскажите пожалуйста! не знаю как решить… ничего не получается…

У меня на главной выводятся статьи. Пусть будет 3 статьи.
У каждой статьи есть ссылка на страничку с подробным описанием.
Пусть будет так: /articles-item.php?id=7&table=blogs_users

Так же есть страничка comments.php которая добавляет комментарии в отдельную таблицу. Comment .
В файле articles-item.php выводится подробная информация с комментариями. Комментарии достаем из таблицы по ID. то есть вытаскиваем все комментарии где ID = 7.. Вопрос. Как мне на главной посчитать сколько комментариев у которых ID = номеру таблицы.

Есть таблица:

id post
1 7
2 7
3 4
4 2
5 7
6 4

Должен вывести. 3/ (это если rticles-item.php?id=7 )На главной возле каждой статьи должен показать сколько Комментов с таким же параметром что и ID Таблицы. если post =7 значит он относиться к таблице 7.


-----
Колян! Я надыбал макароны!
 
 Top
ugin_root
Отправлено: 21 Мая, 2011 - 00:17:47
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `post`, COUNT(*) FROM `table1` GROUP BY `post`
 
 Top
Мелкий Супермодератор
Отправлено: 21 Мая, 2011 - 00:19:22
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(`id`) AS `cnt`,`post` FROM `tbl` GROUP BY `post`

если верно понял, что есть и что надо.


-----
PostgreSQL DBA
 
 Top
molchun201
Отправлено: 21 Мая, 2011 - 00:19:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




Dezmonds пишет:
Как мне на главной посчитать сколько комментариев у которых ID = номеру таблицы.

номер таблицы? - это что такое? Однако

Однако
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(id) FROM TABLE WHERE id=id_table

(Отредактировано автором: 21 Мая, 2011 - 00:20:22)



-----
Обрамляйте код тегами и читайте
 
 Top
Dezmonds
Отправлено: 21 Мая, 2011 - 00:24:51
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Май 2011  


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




Видимо я неверно объяснил. Давайте проще..

Есть файл articles-item.php

он выводит комментарии из таблицы comment где post = id ( id = номер статьи)

Нужно подсчитать сумму (количество) строк, где post = id из таблицы comment

P.s когда добавляется комментарий в таблицу comment ему присваиваться номер статьи

Получается если мы просматриваем статью articles-item.php?id=10 и добавляем коммент, то он записывается в табличку comment с номером 10 в поле post.

Нужно подсчитать сколько значение с post где несколько значений post в таблице Равны 10

Таблица:comment

id post
1 10
2 10
3 10
4 2
5 2
6 4

Если просматриваем статью: articles-item.php?id=10

То нужно сформировать такой запрос. чтобы он показал в данной статье: 3 комментария

(Отредактировано автором: 21 Мая, 2011 - 00:33:09)



-----
Колян! Я надыбал макароны!
 
 Top
maragon
Отправлено: 21 Мая, 2011 - 00:32:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


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




А какой велосипед ты пытаешься изобрести? как-то ты все интересно придумал)
я бы копал в сторону
и Хм


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
ugin_root
Отправлено: 21 Мая, 2011 - 00:33:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


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




Dezmonds
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(*) AS 'count' FROM `table1` WHERE `post`='10'


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

(Отредактировано автором: 21 Мая, 2011 - 01:00:25)

 
 Top
molchun201
Отправлено: 21 Мая, 2011 - 00:34:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




Dezmonds пишет:
Нужно подсчитать сумму (количество) строк, где post = id из таблицы сommenst


Однако
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(*) FROM comments WHERE post=id

(Добавление)
Автор научись задавать корректно вопросы, будешь получать корректные ответы Хм


-----
Обрамляйте код тегами и читайте
 
 Top
Dezmonds
Отправлено: 21 Мая, 2011 - 00:36:35
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Май 2011  


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




ugin_root пишет:
SELECT COUNT(*) AS 'count' FROM `table1` WHERE `post`='10'


PHP:
скопировать код в буфер обмена
  1. SELECT COUNT(*) AS post FROM comments WHERE post='$id'
у меня показывает 1. хотя в таблице 2 строки где post = 10

P.S Прошу прощения. в php совсем недавно. в голове сумбур Улыбка

(Отредактировано автором: 21 Мая, 2011 - 00:37:51)



-----
Колян! Я надыбал макароны!
 
 Top
ugin_root
Отправлено: 21 Мая, 2011 - 00:39:23
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


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




Dezmonds
покажи небольшой кусочек кода в котором происходит сам запрос и то как ты его выводишь.
 
 Top
Dezmonds
Отправлено: 21 Мая, 2011 - 00:41:32
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Май 2011  


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




ugin_root пишет:
покажи небольшой кусочек

PHP:
скопировать код в буфер обмена
  1.  
  2. $view = mysql_query("SELECT COUNT(*) FROM comments WHERE post='$id'",$db);
  3.  if (!$view)
  4.  {
  5.         echo "<p> !!Запрос на выборку данных из базы не прошел.Пожалуйста сообщение администратору: ";
  6.         exit(mysql_error());
  7.  }
  8.  
  9. $views = mysql_num_rows($view);
  10. echo "$views";

с таким запросом:
PHP:
скопировать код в буфер обмена
  1. SELECT COUNT(*) AS post FROM comments WHERE post='$id'
тоже 1 выводит.

(Отредактировано автором: 21 Мая, 2011 - 00:43:15)



-----
Колян! Я надыбал макароны!
 
 Top
ugin_root
Отправлено: 21 Мая, 2011 - 00:44:55
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


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




PHP:
скопировать код в буфер обмена
  1. $view = mysql_query("SELECT COUNT(*) AS 'count' FROM comments WHERE post='$id'",$db);
  2.  if (!$view)
  3.  {
  4.         echo "<p> !!Запрос на выборку данных из базы не прошел.Пожалуйста сообщение администратору: admin@osako.su";
  5.         exit(mysql_error());
  6.  }
  7. $row = mysql_fetch_array($view, MYSQL_ASSOC);
  8. echo "Количество сообщений: " . $row['count'];

(Отредактировано автором: 21 Мая, 2011 - 00:47:52)

 
 Top
DeepVarvar Супермодератор
Отправлено: 21 Мая, 2011 - 00:50:40
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




А так не вариант?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT post.*,(SELECT COUNT(*) FROM comments WHERE comments.post_id = post.id) commcnt
  2. FROM post WHERE post.id = $value_from_php
 
 Top
Dezmonds
Отправлено: 21 Мая, 2011 - 00:52:22
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Май 2011  


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




ugin_root - Спасибо Вам Большое!!!

Отличный форум, отличные люди! Спасибо!


-----
Колян! Я надыбал макароны!
 
 Top
ugin_root
Отправлено: 21 Мая, 2011 - 00:54:41
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


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




DeepVarvar
зачем усложнять человеку жизнь запросами внутри запросов, если он на данный момент не может показать результат таблицы с одним столбцом и строкой?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB