Вычисление общей суммы

igortik

Новичок
Вычисление общей суммы

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

id | page | price | count |
1 | one | 20.0 | 5 |
2 | two | 30.0 | 6 |
3 | one | 25.0 | 20 |
4 | one | 67.0 | 4 |

Необходимо вычислить общую сумму(общий price) всех полей с учетом count(колличество) и где `page` = 'one';

Математически вычисляется так:

(20.0*5) + (25.0*20) + (67.0*4)

Подскажите, пожалуйста, как описать на PHP .
 

igortik

Новичок
Gas
Идеи есть после использования поиска.
- sum()

Однако реализовать пока что не могу, вот и прошу совета :(
 

igortik

Новичок
Ermitazh
я знаю что уйма, но в голову ни 1 не лезет.
Что скажешь по существу?
 

Ermitazh

Новичок
igortik
хорошо, ты написал что хочешь средствами PHP. Тебе нужны значения из бд и переменная , в которую ты будешь сумировать твои числа. В цикле добавляешь к переменной предыдущий результат и так до конца цикла.
 

Ermitazh

Новичок
kruglov
да переменная, сессия влезла из другой мысли. Почемуто подумал что он магазин делает

-~{}~ 26.10.07 17:54:

igortik
while($a = mysql_fetch_array($b)) {} и оператор += тебе помогут

-~{}~ 26.10.07 17:55:

, но конечно для начала тебе нужно выбрать из бд правильные данные.
 

igortik

Новичок
Ermitazh
Что получилось:

PHP:
while ($row = mysql_fetch_array($result))
	{
	$count = $row["count"];
	$price = $row["price"];
	$full_price = $price * $count;
	$order_price .= $full_price + $full_price;
	}
В итоге $order_price = 43.6869.2
 

igortik

Новичок
1) сложение
2) соединение переменных

Люди, если Вы знаете ответ, подскажите, пожалуйста.
 

kruglov

Новичок
igortik
если Вы знаете ответ, подскажите, пожалуйста
А зачем? Это ж неинтересно. Может, вам сразу денег дать? Из тех соображений, что у меня они есть?

Ну? И что будет результатом $full_price + $full_price? Чисто из соображений арифметики?
2) соединение переменных
И что будет, если соединить "1.2" с "2.3"?
 

igortik

Новичок
kruglov
Уже сам понял, что ничего путного не получится.

На счет денег, это наш менталитет славянский.
Я уже 2 дня не могу выполнить это долбаное сложение, т.к. в пхп не силен и половина из тех, кто прочел эту тему знают ответ и молчат.

Это как в армии, меня били и я буду бить. Так и Вы, я не знал когда-то и пусть он голову поломает.

Уж простите за резкость...
 

kruglov

Новичок
igortik
Ну, тут мы и пытаемся "усилить" вас в php, чтоб не готовое решение в зубы, а легкими наводящими вопросами подтолкнуть к самостоятельному решению.

А насчет "били", могу вас уверить, что на заре моего программирования программы за меня никто не писал. Возможно, конечно, потому, что и некому было. Но из этого кое-что получилось в результате. И ситуация скорее все-таки не из серии "били", а как раз "дайте денег, а то сидят тут с деньгами". Я (и остальные) вообще могут сидеть и молчать (не бить), ну так вы будете переспрашивать "ну что, совсем никто не знает"...

На счет денег, это наш менталитет славянский.
В чем славянский менталитет? Мне интересно самовыразиться, направив человека на самостоятельное решение задачи. Чтоб я как будто ничего не сделал, а человек хоп, и как бы сам озарился. И неинтересно выдавать готовые решения на примитивнейшие вопросы, ни уважения коллег, ни самоосознания того, что благое дело делаю.

Вы думаете, мы тут из соображений "нечего делать, давайте за вас поработаем" сидим? Нет. Вы пришли на форум проблему решать, мы пришли общаться. Заниматься интересными вещами.

Вы как, хотите самостоятельно-то решить задачу? Или нет? Самое главное, не рассматривать программу как заклинание или рецепт какой, экспериментируя "а вот тут мы побольше перцу всыпем, а здесь помешивать не будем". Надо понимать, что и на каком этапе, в какой строке, программа делает.
 

igortik

Новичок
kruglov
я все понимаю, если посчитаете нужным - поможете и я буду благодарен.

по теме:

пробовал чере mysql:

$order_price = mysql_query("SELECT Sum(price*count) WHERE `page`='one'")

но в моем случае это не поможет, т.к. price еще содержит текст, помимо чисел, потому приходится в скрипте делать нечто:

$price = str_replace("текст","",$price) а уже после производить арифметические действия.

Так что мне больше подходит вычисление в While, но как описать - не могу понять :(
 

Ermitazh

Новичок
$order_price .= $full_price + $full_price;
igortik
я ж тебе оператор подсказал, а ты как в воду смотришь...

попробуй ещё раз, решение совсем не сложное, достаточно пойти и почитать про операторы php
 

igortik

Новичок
Ermitazh
Спасибо за подсказку, помогло.

Реализовал так:

PHP:
while ($row = mysql_fetch_array($result))
    {
    $count = $row["count"];
    $price = $row["price"];
    $full_price = $price * $count;
    $order_price += $full_price;
    }
В результате выходит, что по мере выполнения цикла переменная $order_price увеличивается на $full_price :)
 
Сверху