1

データテーブルのサーバー側処理を使用して、テーブルのすべての値を取得しています。1つの列は、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列の1つに「date」という名前があります。

4

1 に答える 1

1

スクリプトから出力を送信する前に、userlist.phpPHPdate('d-m-Y', $timestamp)などを使用して、必要に応じて日付を再フォーマットします。

コメントへの回答:

このコードはテストされていませんが、原則は次のとおりです。

SQLテーブルに日付列があります。たとえば、「日付」と呼ばれます。したがって、サンプルスクリプトでは

$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);
}

日付列で並べ替えを行う必要がある場合は、データテーブルがすべての日付形式のデフォルトの並べ替えを提供していないため、日付並べ替えプラグインを使用する必要がある可能性があります。

于 2012-05-20T07:29:12.977 に答える