Как в таблице вычислять сумму используя разные аргументы
#1
Отправлено 16 Февраль 2014 - 18:42
печать - сумма=S*цена*кол-во, постпечать-Сумма=P*цена*кол-во
#2
Отправлено 17 Февраль 2014 - 10:05
if ($line['Вид']=="печать") $line['Сумма'] = $line['S'] * $line['Цена'] * $line['Кол-во']; if ($line['Вид']=="Постпечатная обработка") $line['Сумма'] = $line['P'] * $line['Цена'] * $line['Кол-во'];
#3
Отправлено 17 Февраль 2014 - 16:28
#4
Отправлено 17 Февраль 2014 - 16:35
#6
Отправлено 17 Февраль 2014 - 16:52
if ($line['Вид']=="печать") $line['Сумма'] = $line['S'] * $line['Цена'] * $line['кол-во'];
if ($line['Вид']=="Постпечатная обработка") $line['Сумма'] = $line['P'] * $line['Цена'] * $line['кол-во'];
Сообщение отредактировал totalcolor: 17 Февраль 2014 - 17:09
#7
Отправлено 17 Февраль 2014 - 17:18
$line['Сумма'] = $line['Цена'] * $line['кол-во'];
#8
Отправлено 17 Февраль 2014 - 17:30
#9
Отправлено 18 Февраль 2014 - 10:43
CbCoder (17 Февраль 2014 - 17:30) писал:
Если "Вид" ==Полиграфия, то $line['Сумма'] = $line['Цена'] * $line['кол-во'];
Если "Вид" ==Монтаж, то $line['Сумма'] = $line['Цена'] * $line['кол-во']*$line['P'];
Если "Вид" ==печать, то $line['Сумма'] = $line['Цена'] * $line['кол-во']*$line['S'];
Если "Вид" ==Постпечатная обработка, то $line['Сумма'] = $line['Цена'] * $line['кол-во']*$line['P'];
Сообщение отредактировал totalcolor: 18 Февраль 2014 - 10:45
#10
Отправлено 18 Февраль 2014 - 10:50
#12
Отправлено 18 Февраль 2014 - 11:59
#15
Отправлено 20 Февраль 2014 - 21:53
CbCoder (18 Февраль 2014 - 11:59) писал:
if ($line['Вид']=="печать") $line['Сумма'] = $line['S'] * $line['Цена'] * $line['Кол-во'];
if ($line['Вид']=="Постпечатная обработка") $line['Сумма'] = $line['P'] * $line['Цена'] * $line['Кол-во'];
работает только при условии что поле "Вид" тип "список"?
#16
Отправлено 22 Февраль 2014 - 15:58
#17
Отправлено 23 Февраль 2014 - 16:25
CbCoder (22 Февраль 2014 - 15:58) писал:
#18
Отправлено 27 Июнь 2015 - 19:06
Мне нужно считать сумму позиций в счете, только если тип равен Услуга. Сделал по аналогии с вычислением записывающим сумму позиций счета в сам счет:
if ($line['Тип'] == 'Услуга') { $sqlQ = "SELECT SUM(`f812`) AS sum FROM ".DATA_TABLE."74 WHERE `f807`=".$line['Счет']['raw']." and status=0 and `id`<>".$ID; $pre = sql_query($sqlQ) or die(mysql_error()); $row = sql_fetch_assoc($pre); if ($row['sum']===NULL) { $line['Счет']['Услуги']=$line['Услуги']; } else { $line['Счет']['Услуги']=$row['sum']+$line['Услуги']; } }Но сумма считается неправильно. Считается сумма не только тех полей где Тип=Услуга, а вообще всех полей. Как исправить вычисление?
#19
Отправлено 30 Июнь 2015 - 11:59
#20
Отправлено 30 Июнь 2015 - 12:25
Количество пользователей, читающих эту тему: 5
0 пользователей, 5 гостей, 0 анонимных