我正在使用datatables服务器端处理来检索我的表的所有值。其中一列以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‘。
发布于 2012-05-20 15:29:13
在userlist.php中,在从脚本发送输出之前,只需使用PHP、date('d-m-Y', $timestamp)或其他工具重新格式化日期即可。
回复评论:
这段代码未经测试,但其原理如下:
在SQL表中有一个date列,假设它叫做'date‘。因此,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);
}如果您需要对日期列进行排序,则可能需要使用日期排序插件,因为datatables并不为所有日期格式提供默认排序。
https://stackoverflow.com/questions/10671557
复制相似问题