Перейти к содержимому


Вычисление при условии


Сообщений в теме: 5

#1 Ласточкин Артём

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 12 Ноябрь 2012 - 11:10

День добрый!
Подскажите как правильно прописать вычисление, а то я пробую и у меня всё слетает.
У меня есть категория "Договора", в ней соответственно создана таблица.

у меня сейчас поставлено вычисление по полям - $line['Долг Эксперту'] = $line['Входная цена'] - $line['Оплатили эксперту']; - но оно считает всё подряд...т.е. все строки в таблице!

А мне надо вычисление привязать к одному полю с определенным статусом!!! Название поля - Статус договора, Тип поля - список, Список значений: В Работе и Закрыт. Надо чтобы вычисление считало только по значению В Работе и Закрыт.

Добавить надо примерно как то так - "Статус договора" = "В Работе" или "Статус договора" = "Закрыт"
Подскажите как мне это сделать, добавить к тому вычислению или новое сделать. Спасибо !

#2 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Ноябрь 2012 - 11:26

if ($line['Статус договора']=="В Работе" or $line['Статус договора']=="Закрыт") $line['Долг Эксперту'] = $line['Входная цена'] - $line['Оплатили эксперту'];

http://www.php.net/m...ructures.if.php

#3 Ласточкин Артём

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 12 Ноябрь 2012 - 12:02

вычисление работает по статусу "В работе" и по статусу "Закрыт". ОГРОМНОЕ СПАСИБО!!!
а что теперь прописать в вычислениях, чтобы в записях, где НЕТ статуса, вычисление вообще ничего не считало - просто показывало пустую графу (без нулей желательно, но если никак то и 0 подойдёт) ???

т.е. должно быть как - если есть статус - вычисление считает (оно сейчас считает благодаря Вам)
если нет статуса - нет и вычисления ( а сейчас ситуация такая - статуса нет а вычисление считает. к примеру Входная цена = образно 10000, Оплатили эксперту = 0, а Долг автоматом показывает 10000...а это образно не запущенный договор "В работе" и не закрытый договор "Закрыт"

это необходимо чтобы иметь полную картину - сколько я должен экспертам по Закрытым договорам и по договорам В работе, так как снизу таблицы сделана настройка "считать итоговую сумму"

Подскажите пожалуйста что надо еще добавить... Спасибо!

#4 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Ноябрь 2012 - 12:13

Вышеприведенное вычисление НЕ должно ничего считать, если условие не выполняется. Очевидно, у вас просто остались данные с предыдущего кода. Обнулите их через массовое редактирование.

#5 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Ноябрь 2012 - 12:18

Хотя, лучше все же доработать вычисление, на тот случай, если статус будет убираться вручную. Тогда и Долг будет обнуляться автоматом.

if ($line['Статус договора']=="В Работе" or $line['Статус договора']=="Закрыт")
  $line['Долг Эксперту'] = $line['Входная цена'] - $line['Оплатили эксперту'];
else
  $line['Долг Эксперту'] = 0;

В принципе, вы и сами могли до этого догадаться, выше я вам давал ссылку на документацию по PHP.

#6 Ласточкин Артём

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 12 Ноябрь 2012 - 13:48

Спасибо огромное! всё работает отлично, как и хотел!





Количество пользователей, читающих эту тему: 4

0 пользователей, 4 гостей, 0 анонимных