1

我正在尝试从数据库中获取从 PHP 数组到 JavaScript 数组的返回值。到目前为止,我所做的是将值作为字符串返回,并且我希望每个值都作为数组索引。

这是我的 jQuery AJAX 调用:

    $.ajax({
          type: 'GET',
          url: "Profile_Control.php",
          data:"ajaxRequest=yes&id="+document.getElementById("compid").value,
          success:function(data)
          {       
              document.getElementById("asd").innerHTML=data;
          }
        });

到目前为止,这是我的 PHP 脚本,它像字符串一样返回值,我想要数组索引中的每个值。

   $branches=Profile_Model::getCompanyBranches($_GET['id']);

    while($row=mysql_fetch_array($branches))
    {
        echo $row[3];
    }

现在我只回显从数据库返回的值的第 3 列,输出如下所示:

        67.030867.020467.031167.020667.0357

我想要的结果应该是这样的。

   arr[0]=67.0308
   arr[1]=67.0204
   arr[2]=67.0311
   arr[3]=67.0206
   arr[4]=67.0357

我还尝试使用 JSON 对数据进行编码,json_encode($row[3]);但它返回了以下结果。

  "67.0308""67.0204""67.0311""67.0206""67.0357"
4

2 回答 2

2

创建一个数组,其中包含您最终想要在 JS 数组中的元素,然后json_encode是该数组:

$rows = array();
while($row=mysql_fetch_array($branches)) {
    $rows[] = $row[3];
}
echo json_encode($rows);

但是,data将是成功回调中的一个数组,因此您不能简单地将其分配给innerHTML元素的属性。但由于这似乎是调试输出,只需将其替换为console.log(data);.

于 2012-05-26T17:11:08.633 回答
1

创建一个包含每个元素$row[3]的新数组,通过 发送新数组json_encode

现在你只是 json_encoding 每个$row[3]单独。

于 2012-05-26T17:12:16.290 回答