簡體   English   中英

json數組格式json_encode php

[英]json array format json_encode php

在我的JavaScript中,這個json工作正常。

{
    "sEcho": 1, 
    "iTotalRecords": 58, 
    "iTotalDisplayRecords": 58, 
    "aaData": [ 
        ["Gecko","Firefox 1.0","Win 98+ / OSX.2+","1.7","A"],
        ["Gecko","Firefox 1.5","Win 98+ / OSX.2+","1.8","A"],
        ["Gecko","Firefox 2.0","Win 98+ / OSX.2+","1.8","A"],
        ["Gecko","Firefox 3.0","Win 2k+ / OSX.3+","1.9","A"],
        ["Gecko","Camino 1.0","OSX.2+","1.8","A"],
        ["Gecko","Camino 1.5","OSX.3+","1.8","A"],
        ["Gecko","Netscape 7.2","Win 95+ / Mac OS 8.6-9.2","1.7","A"],
        ["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"],
        ["Gecko","Netscape Navigator 9","Win 98+ / OSX.2+","1.8","A"],
        ["Gecko","Mozilla 1.0","Win 95+ / OSX.1+","1","A"]
    ] 
}

但這當然是硬編碼的,我想使aData動態化。 我打算做類似$ .ajax的事情,我的php有此代碼

$result = mysql_query("SELECT * FROM Persons");

$newArray = array();
while($row =mysql_fetch_array($result) ){
    $newArray[] = $row;
}

echo json_encode($newArray);

並且來自json_endcode的數據是

[
{"0":"1","P_Id":"1","1":"zamor","LastName":"zamor","2":"credit","FirstName":"credit","3":"Giftcard","Address":"Giftcard","4":"Finance","City":"Finance"},{"0":"3","P_Id":"3","1":"zamor3","LastName":"zamor3","2":"credit","FirstName":"credit","3":"Giftcard","Address":"Giftcard","4":"Finance","City":"Finance"},{"0":"4","P_Id":"4","1":"zamor4","LastName":"zamor4","2":"credit","FirstName":"credit","3":"Giftcard","Address":"Giftcard","4":"Finance","City":"Finance"},{"0":"5","P_Id":"5","1":"zamor5","LastName":"zamor5","2":"credit","FirstName":"credit","3":"Giftcard","Address":"Giftcard","4":"Finance","City":"Finance"},{"0":"2","P_Id":"2","1":"zamor2","LastName":"zamor2","2":"credit","FirstName":"credit","3":"Giftcard","Address":"Giftcard","4":"Finance","City":"Finance"}
]

請注意,它具有[{…}]而不是[[…]],因此,如果我替換aaData(上面已硬編碼的aaData),則會出錯。 我如何使我的PHP代碼返回aaData中的內容。 謝謝

因為您提供了關聯數組列表。

php > $simple = array(1,2,3,4,5);
php > $assoc = array('a'=> 1, 'b' => 2);
php > echo json_encode($simple);
[1,2,3,4,5]
php > echo json_encode($assoc);
{"a":1,"b":2}

嘗試替換為

$newArray[] = array_values($row);

我可以看到你正在使用datatables
您必須返回sEchoiTotalRecordsiTotalDisplayRecordsaaData

參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM