CbCoder (10 Май 2014 - 14:06) писал:
Согласен с Вами. Поэтому и не отрабатывает правильно. Вопрос выше снят - пересмотрел логику и счёл излишней.
Обнаружил ещё один косяк:
1. Таблица Заказчики: поля - Связана по услуге
2. Таблица Заявки: поля - Статус
3. Таблица Исполнители: - Карточка
В таблице Заявки есть ещё поле Заказчики (связь с таб. Заказчики) и поле Исполнители (связь с таб. Исполнители) через которые проводится действия с полями Связана по услуге и Карточка. Вычисление:
if ($line['Статус']=="Исполняемая") $line['Исполнитель']['Карточка'] = "Связана"; if ($line['Статус']=="Завершённая") $line['Заказчик']['Связана по услуге'] = ""; if ($line['Статус']=="Завершённая") $line['Исполнитель']['Карточка'] = "Свободна";
Всё работает пока по одной записи в т. Заказчики, т. Заявки и т. Исполнители, но как только пытаюсь добавить несколько записей, отработка вычисления проходит на всех записях сразу. Т.е. когда в одной из записей т. Заявки полю Статус присваиваем Завершённая, то поля Связана по услуге всех записей в т. Заказчики принимают значение "" и поля Карточка всех записей в т. Исполнители принимают значение Свободна...
Такое ощущение, что действие происходит не по ID, а по имени полей...
...так тоже пробовал
if ($line['Статус']=="Исполняемая") $line['Исполнитель']['Карточка'] = "Связана"; if ($line['Статус']=="Завершённая") { $line['Заказчик']['Связана по услуге'] = ""; $line['Исполнитель']['Карточка'] = "Свободна"; }
итог один и тот же!..