mysql — дата обновления для представления, если ноль или пустое переполнение стека

Я пытаюсь установить дату, используя 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');

и дата была обновлена ​​в БД как сегодняшняя дата.

Вся помощь очень ценится.

0

Решение

Попробуй это:

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.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]