2010-07-14 5 views
1

Я создаю систему, которая обновляет активность пользователя, когда что-то делается. У меня есть переменная $userhistory= 'User edited '.$info.' on July 14 2010 or (07-14-2010);getdate() в mysql

Я хочу знать, как я могу получить дату автоматически. для sql-запроса я использую NOW(), но в переменной типа $ userhistory, как мне получить дату, и она хочет ее только в любой из этих форм. не вместе со временем. Кроме того, я обновляю идентификатор столбца в базе данных, который является текстовым полем. Это правильный способ сделать это? Как я могу сохранить только 5 или 10 последних обновлений?

ответ

2

Если вы используете NOW() при обновлении или записи записи в базу данных, столбец, хранящий дату (userhistory?), Должен иметь тип DATETIME.

Тогда вы бы вы хотели запустить SQL, как обычно:

SELECT field1, field2, UNIX_TIMESTAMP(userhistory) FROM table; 

Затем в PHP, дата использования() в результате базы данных, чтобы отформатировать его соответствующим образом:

// July 14 2010 
date('F j Y', $row['userhistory']); 
// 07-14-2010 
date('m-d-Y', $row['userhistory']); , 
0

Вы можете сделайте это и без PHP.

SELECT 
    DATE_FORMAT(date_column, '%M %d %Y') AS 'Formatted', 
    DATE_FORMAT(date_column, '%m-%d-%Y') AS 'Formatted2' 
FROM 
    table;