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 » PHP » SQL и Архитектура БД » Получение суммы значений из столбца

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

1. Стас - 01 Июля, 2007 - 10:53:36 - перейти к сообщению
Пусть у меня есть таблица table, в ней есть столбец num типа int. Можно ли написать такой запрос, чтобы MySQL возвратила сумму значений из столбца num?
2. evgenijj - 01 Июля, 2007 - 11:59:15 - перейти к сообщению
Стас пишет:
Пусть у меня есть таблица table, в ней есть столбец num типа int. Можно ли написать такой запрос, чтобы MySQL возвратила сумму значений из столбца num?


SELECT SUM(num) FROM mytable;
3. Стас - 01 Июля, 2007 - 12:27:30 - перейти к сообщению
Спасибо!
4. Zalupoper - 22 Октября, 2008 - 07:54:14 - перейти к сообщению
Дабы не создавать новую тему, имеется вопрос!
Не мог бы кто подсказать как теперь этот SQL запрос внедрить в php и вывести его соответсвенно.
Пробывал запрос через mysql> консоль - все выполняется.
Буду весьма благодарен. Знаю что в 2 строчки делается, но у меня по чему то не получается.
5. Champion - 22 Октября, 2008 - 08:46:47 - перейти к сообщению
Нуу...как бы... Внедрить в php - mysql_query, потом результат помещаем в массив mysql_fetch_***, ну а вывести echo, print, var_dump, print_r
6. Zalupoper - 22 Октября, 2008 - 17:40:40 - перейти к сообщению
-- Возвращает информацию о колонке из результата запроса в виде объекта.
PHP:
скопировать код в буфер обмена
  1.  
  2. $links = mysql_connect("localhost", "root", "heidelberg");
  3. mysql_select_db("database", $links);
  4.  
  5. $results_sum = mysql_query("SELECT SUM(size) FROM item", $links);
  6. $mysql_fetch = mysql_fetch_field($results_sum);
  7. echo "$mysql_fetch<br />";


Ошибку кажет: Catchable fatal error: Object of class stdClass could not be converted to string
Попробывал все:

Результата нет.
(Добавление)
Парни решение я нашел! вот так:

$results_sum = mysql_query("SELECT SUM(size) FROM item", $links);
$mysql_fetch = mysql_result($results_sum, 'o');
echo "$mysql_fetch<br />";

Я так делал и до этого но вот не указывал '0', и у меня ничего не работало, а сейчас сделал так и все показывает. Осталось округление сделать а то после запятой 11 знаков.

Вопрос по теме. Кто сможет объяснить зачем нужен 0 в строке $mysql_fetch = mysql_result($results_sum, 'o');

и как округлить результат. Спасибо!
(Добавление)
Парни нашел округление до целого числа, вот так:
$results_sum = mysql_query("SELECT SUM(size) FROM item", $links);
$mysql_fetch = mysql_result($results_sum, 'o');
$foo = round($mysql_fetch);

Но не нашел в мануале чтобы оставить 1 знак после запятой. Если кто знает то буду благодарен.
7. Champion - 23 Октября, 2008 - 08:53:54 - перейти к сообщению
Zalupoper пишет:
mysql_result
вторым параметром принимает номер строки. 0 - первая первая строчка.

Функции mysql_fetch_array и пр. возвращают МАССИВЫ или объекты. Так что echo их не выведет. если хотите просмотреть все элементы результата, есть var_dump...
(Добавление)
Zalupoper пишет:
чтобы оставить 1 знак после запятой.

round(float, точночть)
8. Zalupoper - 24 Октября, 2008 - 09:18:03 - перейти к сообщению
Champion, большое спасибо! Очень выручил!

 

Powered by ExBB FM 1.0 RC1