我在将查询结果分成两个不同的数组时遇到问题。 我的要求是这样的
[[1,3],[2,8],[3,4],[4,1],[5,0],[6,8]]
[[1,"app1"],[2,"app2"],[3,"app3"],[4,"app4"],[5,"app6"],[6,"app6"]]
这是我需要在x轴上绘制带有标签的条形图所需的数据格式。我正在尝试这样做 PHP代码
mysql_select_db($database_finalkms, $finalkms);
$query_getmaincatdetails = "SELECT `EquipmentMainCatagory`,count(EquipmentMainCatagory) FROM `assetinfo` group by EquipmentMainCatagory";
$getmaincatdetails = mysql_query($query_getmaincatdetails, $finalkms) or die(mysql_error());
$row_getmaincatdetails = mysql_fetch_assoc($getmaincatdetails);
$totalRows_getmaincatdetails = mysql_num_rows($getmaincatdetails);
现在我需要从上面的格式中获取此查询中的数据以获取条形图。 我正在尝试这个
$rows = array();
for ($i = 1; $i <=$totalRows_getmaincatdetails ; $i++) {
foreach($row_getmaincatdetails as $r){
$rows[] = array( $i,(int)$r[$row_getmaincatdetails['count(EquipmentMainCatagory)']]);
}
}
// convert data into JSON format
$jsonTable = json_encode($rows);
print_r($jsonTable);
我无法以上述格式获取数据。请在这方面帮助我。
答案 0 :(得分:0)
好像你用迭代器i和foreach循环遍历行。用以下内容简化:
$getmaincatdetails = mysql_query($query_getmaincatdetails, $finalkms) or die(mysql_error());
var $i = 1;
while ($row = mysql_fetch_assoc($getmaincatdetails))
{
$cats[] = array( $i,(int)$row['EquipmentMainCatagory']);
$data[] = array( $i,(int)$row['count(EquipmentMainCatagory)']);
$i += 1;
}
$jsonTable = json_encode(array("data" => $data, "cats" => $cats));
etc...
返回JavaScript:
$.getJSON("some.php", function(json) {
$.plot($("#placeholder"), [
{
data: json['data'],
bars: {
show: true
}
}
], {
xAxis: {
ticks: json['cats']
}
});
});
我的标准PHP免责声明:我不喜欢PHP,我不使用PHP,代码未经测试......