0

我有一个带有图像数据的 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 数组时需要帮助的地方。

谁能给我看灯?

提前致谢

4

2 回答 2

2

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 中循环。

于 2013-09-27T12:32:35.257 回答
0

实际上,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));
于 2013-09-27T12:31:46.300 回答