2013-06-08 3 views
0

Что такое самый простой способ обновить дату?PHP: обновить значение даты?

В моей базе данных У меня есть поле под названием mydate, которое настроено как тип данных timestamp. (Это как этот тип данных).

Мои даты указаны либо как:

2013-07-25 00:00:00 

or 

0000-00-00 00:00:00 

Значение они либо имеют данные или только нули, но никогда не пустует.

Редактировать: Спасибо всем! Я как бы объединил все, что вы сказали, и заработал.

Теперь позвольте сказать, что я хотел увеличить дату дат через 10 дней, как бы я это сделал?

Первый, 25 июля 2013 года станет 2013-08-04 00:00:00, а другой станет 2013-06-18 00:00:00 (во время публикации 8 июня).

Как сделать заказ?

Что-то вдоль этих линий:

if(mydate_from_db > present_date){ 
mydate_from_db = mydate_from_db + day('10') 
} 
else{ 
mydate_from_db = present_date + day('10') 
} 

Обновление MySQL с MyDate где это уместно.

ответ

1

Вы можете сделать это в MySql непосредственно:

UPDATE 
    my_table 
SET 
    my_date = my_date + INTERVAL 10 DAY 
WHERE 
    DATE(my_date) >= '2013-06-01' 
2

С PHP вы можете сделать что-то вроде:

if($mydate_from_db > $present_date){ 
    $mydate_from_db = strtotime($mydate_from_db, '+ 10 days'); 
} else { 
    $mydate_from_db = strtotime($present_date, '+ 10 days'); 
} 

Или вы можете сделать это с MySQL, как:

UPDATE yourtable SET mydate = IF(mydate = '0000-00-00 00:00:00', '2013-06-18 00:00:00', DATE_ADD(mydate, INTERVAL 10 DAY)); 
0
if(mydate_from_db > present_date) 
    { 
    $date = strtotime(mydate_from_db); 
    $date = strtotime("+10 day", $date); 
    echo date('M d, Y', $date); 
    } 
else 
    { 
$date=date(); 
$date = strtotime("+10 day", $date); 
echo date('M d, Y', $date); 
} 
Смежные вопросы