[英]creating 2D javascript array from ajax php call
我有一個帶有圖像數據的mysql表。
我想檢索圖像數據並推入javascript數組。
我想將兩個字段放入數組中,它們是image_ref,而image_name我知道我需要一個2D數組,我需要使用ajax和JSON從數據庫中檢索數據。
我不知道如何完成這個。
我知道我需要調用帶有JSON ajax調用的php頁面
JS:
var imagesArray[];
$.getJSON("get_image_data.php")
.done(function(data) {
/*THIS IS WHERE I NEED HELP---*/
});
get_image_data.php頁面
include("connect.php");
$query = mysql_query("SELECT * FROM images WHERE live='1' ORDER BY insertDate DESC");
while($row=mysql_fetch_array($query){
echo json_encode(array("a" => $row['image_ref'], "b" => $row['image_name']));
}
我已經突出顯示了在將返回的數據導入stockImages數組時需要幫助的地方。
有誰能告訴我光明?
提前致謝
通過在循環中多次調用json_encode()
,您將創建大量奇異的JSON位。 您應該以創建和傳輸一個傳輸對象為目標,如下所示:
include("connect.php");
$query = mysql_query("SELECT * FROM images WHERE live='1' ORDER BY insertDate DESC");
$images = array();
while($row=mysql_fetch_array($query){
$images[] = array("a" => $row['image_ref'], "b" => $row['image_name']);
}
echo json_encode($images);
這將為您提供一個JSON數組,您可以通過它在您的客戶端Javascript循環。
實際上,PHP是錯誤的,因為在JS上你將直接在“數據”中擁有你需要的數組。
您的PHP代碼應如下所示:
$query = mysql_query("SELECT * FROM images WHERE live='1' ORDER BY insertDate DESC");
$result = array();
while($row=mysql_fetch_array($query){
$result[] = array("a" => $row['image_ref'], "b" => $row['image_name']);
}
echo(json_encode($result));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.