如何使flot图表使用数据库中的值?

时间:2010-06-29 08:43:49

标签: jquery flot

我想将堆积的条形图与一些数据库值绑定。我已经使用硬编码值工作了。如何使它使用数据库中的值?

目前,我已将此代码放在JavaScript文件中:

$(function () {
    var css_id = "#placeholder";
    var data = [
        {label: 'Strong', data: [[1,250], [2,250], [3,250], [4,250], [5,250], [6,250], [7,250], [8,250], [9,250], [10,250], [11,250], [12,250]]},        
         {label: 'Weak', data: [[1,200], [2,200], [3,200], [4,200], [5,200], [6,200], [7,200], [8,200], [9,200], [10,200], [11,200], [12,200]]},        
          {label: 'Medium', data: [[1,50], [2,50], [3,50], [4,50], [5,50], [6,50], [7,50], [8,50], [9,50], [10,50], [11,50], [12,50]]},        
    ];
    var options = {
        series: {stack: 0,
                 lines: {show: false, steps: false },
                 bars:  {show: true, barWidth: 0.9, align: 'center'},
                },
        xaxis: {ticks: [[1,'Jan'], [2,'Feb'], [3,'March'], [4,'April'], [5,'May'],[6,'June'],[7,'July'],[8,'August'],[9,'Sept'],[10,'Oct'] ,[11,'Nov'],[12,'Dec'] ]},
    };

    $.plot($(css_id), data, options);
});

1 个答案:

答案 0 :(得分:2)

最简单的方法是在服务器端生成此文件。这意味着,您的PHP代码将回显整个内容,从数据库中获取数字。

从这个js文件中复制并用占位符替换数字,使其成为模板:

  

{label:'Strong',数据:[[1,#STRONG_1],[2,#STRONG_2] ...]}

由此,你的PHP(或你正在使用的服务器端语言)程序来了:

  1. 加载模板
  2. 从数据库中读取数据
  3. 将占位符替换为模板中的值
  4. 回应
  5. 您可以使用URL参数告诉程序哪些数据必须读取,例如mygraph.php?日期= 20100629

    此外,您必须将此代码(步骤1-4。)插入页面生成器脚本。不要忘记在JS代码之前和之后添加打开和关闭“脚本”标记。

    如果你这样做了,你应该学习如何用AJAX做类似的工作。