Я пытаюсь установить дату, используя PHP date('Y-m-d')
если переменная пуста или равна нулю. Переменная доставлена из Jquery-Jtable edit form
, Затем у меня есть подробный оператор if, который проверяет, является ли переменная пустой или нулевой:
if ( !isset($data['date_closed']) || strlen($data['date_closed']) == 0
|| !$data['date_closed'] || $data['date_closed'] == "0000-00-00"|| $data['date_closed'] == NULL || is_null($data['date_closed'])
|| empty($data['date_closed']) ) {
$date['date_closed'] = date('Y-m-d');
}
Я отчаянно добавил каждую проверку, которую смог найти, чтобы она заработала, но это не так. Окончательное значение сохраняется в БД 000-00-00
, Чтобы убедиться, что мои изменения были зарегистрированы, я набрал только эту строку:
$date['date_closed'] = date('Y-m-d');
и дата была обновлена в БД как сегодняшняя дата.
Вся помощь очень ценится.
Попробуй это:
if(isset($data['date_closed'])) {
$parsed_date = strtotime($data['date_closed']);
if($parsed_date === false) {
$data['date_closed'] = date('Y-m-d');
} else {
$data['date_closed'] = date('Y-m-d', $parsed_date);
}
} else {
$data['date_closed'] = date('Y-m-d');
}
Если $ data [‘date_closed’] установлено и имеет формат, распознаваемый PHP, он переформатирует его в формат Y-m-d, в противном случае он установит текущую дату в формате Y-m-d.
Других решений пока нет …