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


Получить прошлое значение переменной


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

#1 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 24 Июль 2014 - 16:41

Имеется задача: есть поля руководитель и его замена. Если поле замена не пустое, то формируется запрос на обновление данных в таблице задания где есть руководитель. Проблема состоит в том, что если я уберу замену то все должно вернутся на свои места как и было до этого но я не знаю как правильно получить прошлое значение из таблицы.

Пытаюсь сделать так:

if($line['Зам. руководителя']!=0)
{
   $res = data_select(47, "`status`=0 AND `f6441`= ",$line['Пользователь']);
	    while ($row = sql_fetch_assoc($res))
	    {
		    data_update(47, array('f6441'=>$line['Зам. руководителя']), "`f6441`=",$line['Пользователь']);
	    }
}
else
{
   $res = data_select(47, "`status`=0 AND `f6441`= ",$event['changed']['9412']['old']);
	    while ($row = sql_fetch_assoc($res))
        {
		    data_update(47, array('f6441'=>$event['changed']['6441']['old']), "`f6441`=",$line['Пользователь']);
	    }
	   
}
Подскажите пожалуйста.

#2 CbCoder

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

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

Отправлено 24 Июль 2014 - 18:26

Никак не получите, старое значение в принципе нигде не сохраняется само по себе. Вы должны сами позаботится о его сохранении где-то (в отдельном поле к примеру).

Хотя не пойму, в чем проблема в данном случае просто взять значение из поля Руководитель, если зама больше нет.

#3 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 25 Июль 2014 - 07:56

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





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

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