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

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Что-то я непонимаю...
Объясните, пожалуйста, мне тормозу
Зачем решать задачу средствами пхп, если она решается средствами БД?
 

kruglov

Новичок
Mr_Max
А зачем решать задачу средствами лопаты, если она решается средствами экскаватора?
 

Mols

Новичок
kruglov
хм... всегда думал, что скомпиленый MySQL с подобной задачей справится лучше, чем цикл в интерпретаторе... я ошибаюсь? Да и вообще... зачем из базы тянуть кучу строк и полей? если нужна просто сумма?
Лично я бы в базе считал.
 

igortik

Новичок
Вы не внимательно читали мои сообщения.
Я написал, что поле price содержит еще иную информацию текстовую, помимо цифер и является текстового типа.

Потому и нужен скрипт, который отсеет ненужный текст и в процессе выполнения подсчитает сумму
 

Mols

Новичок
igortik
Я читал внимательно ))) и про текст помню. Правда я к сожалению не увидел этого текста или его описания. Поэтому и не лез с вопросами и предложениями. Но логика людей однозначно утверждающих, что ПХП здесь лучше - мне не понятна. Вполне возможна ситуация отсечения текста и средствами базы... всё зависит от конкретной ситуации... С другой стороны господин kruglov вроде как модератор и участник форума не один год... поэтому у меня и возник вопрос... почему он так считает. Может я чего то действительно не допонимаю.
з.ы.
кстати из Вашего решения вопроса средствами ПХП тоже не видно, где вы текст режете.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Вы не внимательно читали мои сообщения.
Все я читал внимательно.

while ($row = mysql_fetch_array($result))
{
$count = $row["count"];
$price = $row["price"];
$full_price = $price * $count;
$order_price += $full_price;
}
Что-то в этом коде я не вижу "убирания ненужного" текста.

И поля, насколько я понял, вида "124 руб.".
А при операции * они приводятся к числовому типу.

Так-же будет и в случае сумирования средствами БД

Ещё вопросы?

-~{}~ 28.10.07 01:10:

числа нужно хранить в предназначеном для этого формате - числовом.
 

kruglov

Новичок
Mols
Господин Круглов полагает (и не только он), что пусть человек хотя бы как сделает, раз он покамест в PHP путается, нечего ему в MySQL лезть. Ну выдадите ему готовое решение с непонятными словами sum и group (упомянутыми еще в начале обсуждения, если бы хотел он узнать, что это, давно б узнал), он их впишет, как некое заклинание, себе в скрипт и будет с придыханием говорить "а вот этот чудесный код мне гуру посоветовали"

-~{}~ 28.10.07 09:38:

p.s. Поэтому если лопату освоил - пусть копает лопатой, а то экскаватором еще снесет что-нибудь.
 

Mols

Новичок
Автор оригинала: kruglov
Mr_Max
А зачем решать задачу средствами лопаты, если она решается средствами экскаватора?
Видимо я не понял смысл этого поста. (и похоже не я один) ;)
 

igortik

Новичок
Mr_Max
Я просто опустил некоторый код с str_replace дабы не обременять своими проблемами.

Вот еще вопрос:

Т.е. если поле price текстовое и в нем есть значение 124 руб., то при sum(price * count), поле price примет значение int и у нас выйдет нечто sum(124*X) ?

-~{}~ 28.10.07 17:34:

kruglov
по поводу mysql мне дали готовое заклинание, но не здесь ))
выглядело так:

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

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Вот еще вопрос:
попробовать уж никак нельзя?

выйдет нечто sum(124*X)
Выйдет price * count при условии, что price, count - числовые
Если они строковые, но начинаются с числа, то они приведутся к числовому типу. Если с строкового символа, то будут == 0

я бы "разнёс" данные по разным столбцам таблицы (цену и валюту) и хранил их в положеннмо формате.

например попробуйте в Вашем случае с полем типа price varchar
отсортировать свою таблицу по price . будете "приятно" удивлены.
 

igortik

Новичок
Mr_Max
На сегодняшний день старые ошибки уже ясны.
Спасибо всем, кто помог решить задачу!
 

kruglov

Новичок
igortik
Ммм, вам не то заклинание дали, кстати.
Вернее не оптимальное.
 

igortik

Новичок
kruglov
Могу огорчить, все Ваши заклинания я превращаю для себя в логические действия, ознакамливаясь с описаниями функций и т.п. :)
 

kruglov

Новичок
igortik
Ну так познакомьтесь с описанием функций, данных вам еще на предыдущей странице вместе с sum
 
Сверху