我正在使用数据表服务器端处理来检索我的表的所有值。一列以 MySQL 日期格式呈现用户的注册日期。显示时可以转换成PHP日期格式吗?
$('#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 列的名称为“date”。
最佳答案
在 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);
}
如果您需要对日期列进行排序,您可能需要使用日期排序插件,因为数据表不为所有日期格式提供默认排序。
关于php - jQuery 数据表 MySQL 日期到 PHP 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671557/