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


Вычисления


В теме одно сообщение

#1 Alexander

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

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

Отправлено 22 Декабрь 2011 - 11:43

Есть таблица «Контрагенты» и подчиненная ей таблица «Лицензии» номер 101, связь через поле f1323. В таблице лицензий есть поле«с» " (дата начала лицензии) и поле «до» (дата окончания лицензии) -f1331; типа дата/время.
При добавлении новой записи в таблицу лицензии для данного контрагента, в поле "с" (дата начала лицензии) должно записываться значение из предыдущей записи даты окончания лицензии, но в последствиитакже, чтобы была возможность далее править число вручную
Следующий код (огромное спасибо andibrag), почему-то всегда возвращает в поле «с» значение 01.01.1970, Не подскажете в чем проблема?

$lic = data_table("Лицензии","id={ID}");
$sqlQuery = "SELECT max(`id`) as maxID FROM ".DATA_TABLE."101 WHERE `status`!=2 AND `f1331`!='0000-00-00 00:00:00' AND `f1323`='" . {ID} . "'";
$result = mysql_query($sqlQuery) or die(mysql_error()."<br>".$sqlQuery);
$row = mysql_fetch_assoc($result);
$row_maxID=$row['maxID'];
$data = data_table("Лицензии","id=$row_maxID");
if ($lic['с']=='0000-00-00 00:00:00' && $data['до']!='0000-00-00 00:00:00') return  $data['до'];
else return "0000-00-00 00:00:00";

Сообщение отредактировал Alexander: 22 Декабрь 2011 - 16:05


#2 CbCoder

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

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

Отправлено 22 Декабрь 2011 - 15:26

Выведите результат данного вычисления в текстовое поле, и посмотрите что возвращается (текстовое поле в отличии от даты не форматируется). Очевидно у вас возвращается некорректная дата, возможно просто пустая строка. Если результат некорректен - тестируйте дальше с тем же текстовым полем, пока не будет возвращаться корректная дата в формате гггг-мм-дд чч:мм:сс





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

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