0

jqueryデータテーブル形式でデータを表示するために、json文字列をエンコードするスクリプトがあります。

ただし、ページには何も表示されません。jquery .post を使用して簡単な応答を行うと、データは表示されますが、テーブルの機能が失われます。

これが私がこれまでに行ったことです

JSON エンコード スクリプト

$user = new Users();

$rcs_user = $user->get_all_users();
$response = '';
$arrResp = array();
$arrItems = array();

foreach ($rcs_user as $info)
{


    $arrItems = array(utf8_encode($info->nome),$info->email,$info->permissao,$info->activo,'<span class="tip" >
                    <a  title="Edit" ><img src="images/icon/icon_edit.png" ></a>
                    </span> 
                    <span class="tip" >
                    <a id="1" class="Delete"  name="Band ring" title="Delete"  >
                    <img src="images/icon/icon_delete.png" >
                    </a></span>');
    array_push($arrResp, $arrItems);

}
$array = array("aaData"=>$arrResp);

echo json_encode($array);

スクリプトが出力する JSON 文字列 (JSONLint で検証済み)

{
"aaData": [
    [
        "admin",
        "a@a.pt",
        "1",
        "1",
        "\r\n  </a>\r\n </span> \r\n \r\n \r\n  \r\n </a></span>"
    ],
    [
        "admin2",
        "a@a.pt",
        "1",
        "1",
        "\r\n  </a>\r\n </span> \r\n \r\n \r\n  \r\n </a></span>"
    ],
    [
        "António",
        "a@a.com",
        "10",
        "0",
        "\r\n  </a>\r\n </span> \r\n \r\n \r\n  \r\n </a></span>"
    ],
    [
        "João Dias",
        "a@a.com",
        "10",
        "0",
        "\r\n  </a>\r\n </span> \r\n \r\n \r\n  \r\n </a></span>"
    ],
    [
        "Zé Manel",
        "zemanel@ze.com",
        "10",
        "1",
        "\r\n  </a>\r\n </span> \r\n \r\n \r\n  \r\n </a></span>"
    ]
]
}

そして最後にjQuery

 $(document).ready(function() {
            $('#data_table3').dataTable( {
                    "bProcessing": true,
                    "bServerSide": true,
                    "sAjaxSource": 'modules/user/showusers.php'
                } );
            } );

ページをリロードするたびに、この警告メッセージが表示されました

Datatables Warining (tableid = data_table3): Cannot reinitialize table data. To retrieve the Data Objects for this table pass no arguments or see the docs for bRetrieve or bDestroy.

これが機能するようになれば、大きな助けになるでしょう!

4

1 に答える 1

0

サーバー処理を手動で行っている場合は、次のパラメーターを応答に追加する必要があると思います。

  • iTotalRecords- データベース内の合計レコード
  • iTotalDisplayRecords- 表示するレコード数

aaDataそれらは、JSON 応答のパラメーターと同じ「レベル」である必要があります。DataTables ガイドを参照してください。これらのフィールドの使用法については、そこで説明する必要があります。

于 2012-06-14T20:54:43.927 に答える