gpt4 book ai didi

php - 使用 php 创建 jqplot 图

转载 作者:行者123 更新时间:2023-11-29 02:31:25 24 4
gpt4 key购买 nike

抱歉,我的英语不太好。

我不知道如何将值传递给 jqplot 应用程序。

php网页显示[{"PER":"23"},{"PER":"47"},{"PER":"86"},{"PER":"25"},{"PER":"74"} ]来自 mysql 服务器。

表格只有一列,值为23、47、86、25、74

这是 php 代码。

<?php
mysql_connect("localhost","root","autoset");
mysql_select_db("test");

$q=mysql_query("SELECT PER FROM Evaluation");
while($e=mysql_fetch_assoc($q))
$output[]=$e;

print(json_encode($output));

mysql_close();

?>

这是 html 示例文件。

       $(document).ready(function(){

var ajaxDataRenderer = function(url, plot) {
var ret = null;
$.ajax({
// have to use synchronous here, else returns before data is fetched
async: false,
url: url,
dataType:'json',
success: function(data) {
ret = data;
}
});
return ret;
};

var jsonurl ="http://127.0.0.1/index.php"; //"../report/jsondata.txt";

plot1 = $.jqplot("chart2", jsonurl, {
title: 'AJAX JSON Data Renderer',
dataRenderer: ajaxDataRenderer,

animate: true,
animateReplot: true,
cursor: {
show: true,
zoom: true,
looseZoom: true,
showTooltip: false,

},
series:[
{
label:'a',
color: '#FF0000',
rendererOptions: {
animation: {
speed: 2000
}
}
},
{
label:'b',
color: '#0000FF',
rendererOptions: {
animation: {
speed: 2000
}
}
}
],


axesDefaults: {
pad: 0
},
axes: {
xaxis: {
label: "Period",
renderer: $.jqplot.CategoryAxisRenderer,
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,

},
yaxis: {
label: "PER",
tickOptions: {
formatString: "%d"
},
rendererOptions: {
//forceTickAt0: true
}
},
y2axis: {
tickOptions: {
formatString: "%d"
},
rendererOptions: {
alignTicks: true
//forceTickAt0: true
}
}
},


highlighter: {
show: true,
showLabel: true,
tooltipAxes: 'y',
sizeAdjust: 7.5 , tooltipLocation : 'ne'
},


legend: {
show: true,
location: 'sw',
placement: 'outside'
}
});
});

当我用

var jsonurl ="../report/jsondata.txt"; it worked. 

jsondata.txt 包含 [[ 23, 47, 86, 25, 74 ]]。

但是当我使用另一个时却没有。我想从服务器获取值。我想传递值有问题。

请具体帮助T.T

谢谢!

编辑

这是表格。内容只有一张表。我想传递 PER 的值。

ENTERPRISE PERIOD EPS STOCKPRICE PER

232 232 23 432 23

236 56 65 43 47

574 53 45 75 86

453 45 45 265 25

46 63 67 45 74

我只是临时取值来测试。

最佳答案

问题是您的 json 数据的格式,它来自(关联的)$output 数组。您不希望其中包含那些“PER”!尝试替换这些代码行:

while($e=mysql_fetch_assoc($q))
$output[]=$e;

print(json_encode($output));

这些:

while($e=mysql_fetch_assoc($q))
$output[]=$e["PER"];

print ('['.json_encode($output).']');

这会将 $output 从关联数组更改为标准整数数组。

并且打印行在 json 数据周围添加了额外的方括号 - 这是 jqplot 所需要的。

关于php - 使用 php 创建 jqplot 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12708029/

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