从PHP开始时为空值=>;JSON=>;JS
我已经创建了与数据库的PHP连接,并进行了以下查询:从PHP开始时为空值=>;JSON=>;JS,php,javascript,json,Php,Javascript,Json,我已经创建了与数据库的PHP连接,并进行了以下查询: $taxRates = array(); while($row = mysql_fetch_assoc($result)) { $taxRates[] = $row['mar_tax_rate']; } 然后,我将结果编码如下: $jsonobj = json_encode($taxRates, JSON_NUMERIC_CHECK); echo "This is jsonobj:<br>" . $jsonobj . "
$taxRates = array();
while($row = mysql_fetch_assoc($result)) {
$taxRates[] = $row['mar_tax_rate'];
}
然后,我将结果编码如下:
$jsonobj = json_encode($taxRates, JSON_NUMERIC_CHECK);
echo "This is jsonobj:<br>" . $jsonobj . "<br>";
我遇到的问题是这个。当我尝试将这些结果回显到JS中时,我的结果是空的(据我所见)——不是空数组,只是什么都没有。这就是我试图将结果输入JS的方式:
data:[<?php echo $jsonobj; ?>]
我尝试使用
alert("<?php echo $jsonobj; ?>");
警报(“”);
它会生成警报,但也是空的
有什么想法吗
以下是完整的代码:
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<script type="text/javascript" src="includes/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="includes/js/highcharts.2.3.2.js"></script>
<script type="text/javascript" src="includes/js/highstock.src.js"></script>
<script type="text/javascript">
$(document).ready(function() {
drawChart();
});
function drawChart() {
alert("<?php echo join($jsonobj); ?>");
var chart = new Highcharts.Chart({
chart: {
renderTo: 'chart',
type: 'column',
},
credits: {
enabled: false
},
series: [{
data:[<?php echo $jsonobj; ?>]
}]
});
};
</script>
</head>
<body>
<button style="height:100px; width:300px;" onclick="drawChart();">Redraw the Chart</button><br />
<div id="chart"></div>
<?php
$link = mysql_connect('url', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
//mysql_close($link);
$db_selected = mysql_select_db('bloch',$link);
if (!$db_selected) {
die ('Can\'t use Bloch Database : ' . mysql_error());
}
$result = mysql_query('SELECT mar_tax_rate from bloch.bloch_deficit');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
$taxRates = array();
while($row = mysql_fetch_assoc($result)) {
$taxRates[] = $row['mar_tax_rate'];
}
$jsonobj = json_encode($taxRates, JSON_NUMERIC_CHECK);
echo "This is jsonobj:<br>" . $jsonobj . "<br>";
?>
</body>
</html>
$(文档).ready(函数(){
图纸();
});
函数绘图图(){
警报(“”);
var图表=新的Highcharts.图表({
图表:{
renderTo:'图表',
键入:“列”,
},
学分:{
已启用:false
},
系列:[{
数据:[]
}]
});
};
重新绘制图表
在尝试将变量放入HTML之前,未定义该变量。在HTML之前使用所需的内容创建变量,以便将其正确放入页面。“…进行了以下查询。”接下来的内容不是查询。。。无论如何,你不可能给我们看所有的代码。如果您为我们提供的第二个代码段有效,而第三个代码段无效(同时对它们进行测试),那么您必须更改$jsonobj
变量中的某些内容。同样的问题。警报返回为空,数据也是空的:,即使在PHP中回音会根据需要显示数组。再次感谢您的帮助!我想可能是这样的,所以我做了一点研究,重新安排了一些事情,它起了作用。我从中取出所有PHP,并将其放在一个单独的文件中。然后我在body标签的开头使用。这不起作用,所以我把我的JS移到了底部,一切都很好。谢谢你的建议!我知道这可能是一个简单的解决办法,因此我的“新手”序言;)
alert("<?php echo $jsonobj; ?>");
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<script type="text/javascript" src="includes/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="includes/js/highcharts.2.3.2.js"></script>
<script type="text/javascript" src="includes/js/highstock.src.js"></script>
<script type="text/javascript">
$(document).ready(function() {
drawChart();
});
function drawChart() {
alert("<?php echo join($jsonobj); ?>");
var chart = new Highcharts.Chart({
chart: {
renderTo: 'chart',
type: 'column',
},
credits: {
enabled: false
},
series: [{
data:[<?php echo $jsonobj; ?>]
}]
});
};
</script>
</head>
<body>
<button style="height:100px; width:300px;" onclick="drawChart();">Redraw the Chart</button><br />
<div id="chart"></div>
<?php
$link = mysql_connect('url', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
//mysql_close($link);
$db_selected = mysql_select_db('bloch',$link);
if (!$db_selected) {
die ('Can\'t use Bloch Database : ' . mysql_error());
}
$result = mysql_query('SELECT mar_tax_rate from bloch.bloch_deficit');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
$taxRates = array();
while($row = mysql_fetch_assoc($result)) {
$taxRates[] = $row['mar_tax_rate'];
}
$jsonobj = json_encode($taxRates, JSON_NUMERIC_CHECK);
echo "This is jsonobj:<br>" . $jsonobj . "<br>";
?>
</body>
</html>