1

我正在尝试使用 PHP 从数据库中获取数据并将其传递给 jQuery,以便我可以在动态谷歌图表中使用它。我已经使用 json_encode() 将我的 PHP 数组转换为 JSON,但现在我必须使用 jQuery 访问这些数据才能将其传递给谷歌图表。

我的PHP代码:

$db = new Db(DB_NAME, DB_HOST, DB_USER, DB_PASSWORD);

$dates = array();
for($number=14; $number>=1; $number--) {
    $dateValue = date('j M', strtotime("-$number day"));
    $getCount[$number] = $db->get($this->styleName, $dateValue);
    $items[$dateValue[$number]] = $getCount[$number];
}
$json_encode = json_encode($dates);
var_dump($json_encode);

我输出的 JSON:

{
"15 Apr": "19",
"16 Apr": "15",
"17 Apr": "18",
"18 Apr": "13",
"19 Apr": "27",
"20 Apr": "2",
"21 Apr": "12",
"22 Apr": "9",
"23 Apr": "11",
"24 Apr": "20",
"25 Apr": "25",
"26 Apr": "137",
"27 Apr": "99",
"28 Apr": "115"
}

我的主要问题是如何将这些数据传递给我的 jQuery 脚本?如果我以正确的方式这样做或帮助我走上正确的轨道,有人可以说我吗?

提前致谢 :)

4

3 回答 3

6

在 php 文件的开头发送 json 标头:

<?php
header('Content-Type: application/json');
// build $datas
echo json_encode($datas);
?>

并使用 jquerys getJSON 函数拉取 json:

$.getJSON('path/to/php/file.php', function(jsondata) {
    // use jsondata here
});
于 2013-04-29T12:40:46.053 回答
0

you could do it in a seperate request, so your request only output the json and fetch it with $.getJson(); It is a clean way but requires an extra request;

or you can include it in tags in the html

output template:

<html>
  ...
  ...
  <script type="text/javascript">
    $.yourOwnJqueryExtention.setJSON(<?=$myJSON?>); 
  </script>
</body>
</html>
于 2013-04-29T12:44:01.460 回答
0

简单得多,您不需要更改标题信息(例如,这在 Wordpress 中几乎不可能),只需将编码对象转换为字符串。

$json_encode = (string)$json_encode;
于 2014-02-13T15:13:03.077 回答