gpt4 book ai didi

php - 我的服务器配置可以阻止 json 工作吗?

转载 作者:行者123 更新时间:2023-11-30 01:31:12 25 4
gpt4 key购买 nike

我正在尝试完成一个关于从 MySQL 获取 JSON 字符串并将其准备用于 highcharts 的教程,但它不起作用,我不知道为什么......

HTML:

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
var chart;
$(document).ready(function () {
$.getJSON("data.php", function (json) {

chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
marginRight: 130,
marginBottom: 25
},
title: {
text: 'Revenue vs. Overhead',
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
title: {
text: 'Amount'
},
plotLines: [
{
value: 0,
width: 1,
color: '#808080'
}
]
},
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' +
this.x + ': ' + this.y;
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: json
});
});

});

});
</script>
</head>
<body>
<script src="js/highcharts.js"></script>
<script src="js/exporting.js"></script>

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

JSON 字符串是使用文件生成的

data.php:

<?php
$con = mysql_connect("*****", "*****", "*****");

if (!$con) {
die('Could not connect: ' . mysql_error());
}

mysql_select_db("*****", $con);

$sth = mysql_query("SELECT revenue FROM projections_sample");
$rows = array();
$rows['name'] = 'Revenue';
while ($r = mysql_fetch_array($sth)) {
$rows['data'][] = $r['revenue'];
}

$sth = mysql_query("SELECT overhead FROM projections_sample");
$rows1 = array();
$rows1['name'] = 'Overhead';
while ($rr = mysql_fetch_assoc($sth)) {
$rows1['data'][] = $rr['overhead'];
}

$result = array();
array_push($result, $rows);
array_push($result, $rows1);

print json_encode($result, JSON_NUMERIC_CHECK);

mysql_close($con);
?>

如果我在 data.php 中手动输入 JSON 字符串,图表将按预期显示。

[{
"name": "Revenue",
"data": [23987, 24784, 25899, 25569, 25897, 25668, 24114, 23899, 24987, 25111, 25899, 23221]
}, {
"name": "Overhead",
"data": [21990, 22365, 21987, 22369, 22558, 22987, 23521, 23003, 22756, 23112, 22987, 22897]
}]

我假设我的连接详细信息是正确的,因为如果我故意输入错误的密码,我会收到 MySQL 连接错误...

“Could not connect: Access denied for user ‘*****’@'localhost’ (using password: YES)”

此外,当我添加 “echo @mysql_ping() ? 时,我会返回 “True” ? ‘true’ : ‘false’;” 到页面底部。

因为我确信它应该可以工作,所以我想知道是否有与服务器配置相关的任何内容可能阻止我使用 JSON?

最佳答案

如果您无法使用 JSON_NUMERIC_CHECK(因为它需要 PHP 5.3.3 ( json.constants ))

你可以 castint [$number = (int)"1234";]

while ($r = mysql_fetch_array($sth)) {
$rows['data'][] = (int)$r['revenue']; // <- (int)
}

while ($rr = mysql_fetch_assoc($sth)) {
$rows1['data'][] = (int)$rr['overhead']; // <- (int)
}

print json_encode($result);

关于php - 我的服务器配置可以阻止 json 工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17435240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com