2012-05-20 1 views
1

Я использую обработку серверных данных datatables для извлечения всех значений для моей таблицы. Один столбец отображает даты регистрации пользователей, которые находятся в формате даты MySQL. Может ли он быть преобразован в формат даты PHP во время отображения.jQuery Datatables MySQL date to PHP date

$('#data').dataTable({ 
     "bProcessing": true, 
     "bServerSide": true, 
     "sAjaxSource": "userlist.php", 
}); 

Спасибо.

Рабочий раствор:

Добавлен это на стороне сервера, но никакого эффекта,

while ($aRow = mysql_fetch_array($rResult)) { 
$row = array(); 
for ($i = 0; $i < count($aColumns); $i++) { 
    if ($aColumns[$i] == "version") { 
     /* Special output formatting for 'version' column */ 
     $row[] = ($aRow[$aColumns[$i]] == "0") ? '-' : $aRow[$aColumns[$i]]; 
    } elseif ($aColumns[$i] == "date") { 
     /* Special output formatting for 'date' column */ 
     $date = new DateTime($aRow["date"]); 
     $timestamp = $date->getTimestamp(); 
     $row[] = date("d-m-Y", $timestamp); 
    } elseif ($aColumns[$i] != ' ') { 
     /* General output */ 
     $row[] = $aRow[$aColumns[$i]]; 
    } 
} 
$output['aaData'][] = $row; 

}

Один из моих MySQL столбцов имеет имя 'дата'.

+0

Что вы подразумеваете под «PHP date format»? Я предполагаю, что с помощью «формата даты в формате MySQL» вы имеете в виду «YYYY-MM-DD» – Sp4cecat

+0

Я хочу конвертировать YYYY-MM-DD в DD-MM-YY и т. Д. – Ajay

+0

Неверный порядок операторов 'if else' - последние два должны быть обрезаны , – Stefan

ответ

1

В userlist.php просто используйте PHP date('d-m-Y', $timestamp) или что угодно, чтобы переформатировать даты по вашему желанию перед отправкой вывода из сценария.

ОТВЕТ НА ОТЗЫВ:

Этот код не тестировался, но принцип заключается в следующем:

Вы бы столбец даты в таблице SQL, скажем, это называется «дата». Поэтому in the example script:

$aColumns = array('date', etc.); 

В нижней части скрипта, в разделе «выход», вы видите это:

if ($aColumns[$i] == "version") 
{ 
    /* Special output formatting for 'version' column */ 
    $row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ]; 
} 
/* insert this date formatting statement here */ 
elseif ($aColumns[$i] == "date") { 
    /* Special output formatting for 'date' column */ 
    $date = new DateTime($aRow["date"]); 
    $timestamp = $date->getTimestamp(); 
    $row[] = date("d-m-Y", $timestamp); 
} 

Если вам нужно сделать сортировку по колонке дата, то возможно, что вам может понадобиться использовать плагин для сортировки по дате, потому что данные данных не предоставляют сортировку по умолчанию для всех форматов дат.

+0

На сервере userslist.php, где я должен его включать. Пример кода: http://datatables.net/examples/data_sources/server_side.html – Ajay

+1

@Ajay: Я добавил предложение о том, как это сделать для сценария примера. – Stefan

+0

Я добавил код на сервер, но на выходе нет никакого эффекта. Проверьте мое редактирование. – Ajay