Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用div中的文本填充Flot图表_Php_Jquery_Mysql_Flot - Fatal编程技术网

Php 用div中的文本填充Flot图表

Php 用div中的文本填充Flot图表,php,jquery,mysql,flot,Php,Jquery,Mysql,Flot,我试图用PHP中MySQL查询的数据填充Flot图表。我确信这是一种糟糕的方式(没有Ajax或JSON,我还不习惯这两种方式),但我将查询结果以Flot需要的格式输出到PHP页面上的一个隐藏div中,如下所示: function get_team_chart($arr) { $data1 = array(); $data2 = array(); foreach ($arr as $a) { $data1[] = '[' . $a['week'] . ','

我试图用PHP中MySQL查询的数据填充Flot图表。我确信这是一种糟糕的方式(没有Ajax或JSON,我还不习惯这两种方式),但我将查询结果以Flot需要的格式输出到PHP页面上的一个隐藏div中,如下所示:

function get_team_chart($arr) {
    $data1 = array();
    $data2 = array();
    foreach ($arr as $a) {
        $data1[] = '[' . $a['week'] . ',' . $a['pts'] . ']';
        $data2[] = '[' . $a['week'] . ',' . $a['league_avg'] . ']';
    }
    $str1 = implode(', ', $data1);
    $str2 = implode(', ', $data2);
    echo "  <div id='series1' style='display:none;'>" . $str1 . "</div>
            <div id='series2' style='display:none;'>" . $str2 . "</div>";           
}
}

这不会在运行时抛出任何JS错误,图表会显示指定的分钟和最大值,但不会绘制任何数据。我检查了
系列1
系列2
的值,它们的数值周围都没有引号(即它们类似于
[1120.3],[2,89.0]
,而不是
[“1”,“120.3”],[“2”,“89.0”]

这是我第一次进入弗洛特的世界,所以请温柔一点。此外,我还验证了该图表使用硬编码值绘制得很好


谢谢。

如果您只想在这些变量周围加引号,为什么不:

$data1[] = '["' . $a['week'] . '","' . $a['pts'] . '"]';
$data2[] = '["' . $a['week'] . '","' . $a['league_avg'] . '"]';

这将通过懒人的方式引用您的输出。

如果您只想引用这些变量,为什么不这样做:

$data1[] = '["' . $a['week'] . '","' . $a['pts'] . '"]';
$data2[] = '["' . $a['week'] . '","' . $a['league_avg'] . '"]';

这将通过懒人的方式引用您的输出。

让它工作起来。请随意回答如何使用Ajax和/或JSON实现此功能,但以下是我如何在隐藏的div中拉入数据以在Flot上绘图:

function plot_team_chart() {
    var tmp1 = new Array();
    var tmp2 = new Array();
    var tmp3 = new Array();
    var data = new Array();
    $('.to-plot').each(function() {
        tmp1 = $(this).html().split('|');
        for (var i=0; i<tmp1.length; i++) {
            tmp2 = tmp1[i].split(',');
            tmp3.push(tmp2);
        }
        data.push({ label: $(this).attr('data_label'),
                    data: tmp3});
        tmp3 = [];
    });

    var options = { xaxis: {    min:1,
                                max:13},
                    yaxis: {    max:120,
                                min:30},
                    grid: {     borderColor:'#ccc'},
                    legend: {   show:true,
                                position:'se'}};

    if (data.length > 0) {
        $.plot( $("#team-chart"),
                data,
                options
        );
    }
}
功能图\团队\图表(){
var tmp1=新数组();
var tmp2=新数组();
var tmp3=新数组();
var data=新数组();
$('.to plot')。每个(函数(){
tmp1=$(this.html().split(“|”);
对于(变量i=0;i 0){
$.plot($(“#团队图”),
数据,
选择权
);
}
}
以及修改后的PHP以适应这些变化:

function get_team_chart($arr) {
    $data1 = array();
    $data2 = array();
    foreach ($arr as $a) {
        $data1[] = $a["week"] . "," . $a["pts"];
        $data2[] = $a["week"] . "," . $a["league_avg"];
    }
    $str1 = implode('|', $data1);
    $str2 = implode('|', $data2);
    echo "  <div id='series1' data_label='avg score' style='display:none;'>" . $str1 . "</div>
            <div id='series2' data_label='league avg' style='display:none;'>" . $str2 . "</div>";           
}
函数获取团队图表($arr){
$data1=array();
$data2=array();
foreach($arr作为$a){
$data1[]=$a[“周”],“$a[“分”];
$data2[]=$a[“周”],“$a[“联盟平均值”];
}
$str1=内爆(“|”,$data1);
$str2=内爆(“|”,$data2);
回显“$str1”
“$str2。”;
}

让它正常工作。请随意回答如何使用Ajax和/或JSON实现此功能,但以下是我如何在隐藏的div中拉入数据以在Flot上绘图:

function plot_team_chart() {
    var tmp1 = new Array();
    var tmp2 = new Array();
    var tmp3 = new Array();
    var data = new Array();
    $('.to-plot').each(function() {
        tmp1 = $(this).html().split('|');
        for (var i=0; i<tmp1.length; i++) {
            tmp2 = tmp1[i].split(',');
            tmp3.push(tmp2);
        }
        data.push({ label: $(this).attr('data_label'),
                    data: tmp3});
        tmp3 = [];
    });

    var options = { xaxis: {    min:1,
                                max:13},
                    yaxis: {    max:120,
                                min:30},
                    grid: {     borderColor:'#ccc'},
                    legend: {   show:true,
                                position:'se'}};

    if (data.length > 0) {
        $.plot( $("#team-chart"),
                data,
                options
        );
    }
}
功能图\团队\图表(){
var tmp1=新数组();
var tmp2=新数组();
var tmp3=新数组();
var data=新数组();
$('.to plot')。每个(函数(){
tmp1=$(this.html().split(“|”);
对于(变量i=0;i 0){
$.plot($(“#团队图”),
数据,
选择权
);
}
}
以及修改后的PHP以适应这些变化:

function get_team_chart($arr) {
    $data1 = array();
    $data2 = array();
    foreach ($arr as $a) {
        $data1[] = $a["week"] . "," . $a["pts"];
        $data2[] = $a["week"] . "," . $a["league_avg"];
    }
    $str1 = implode('|', $data1);
    $str2 = implode('|', $data2);
    echo "  <div id='series1' data_label='avg score' style='display:none;'>" . $str1 . "</div>
            <div id='series2' data_label='league avg' style='display:none;'>" . $str2 . "</div>";           
}
函数获取团队图表($arr){
$data1=array();
$data2=array();
foreach($arr作为$a){
$data1[]=$a[“周”],“$a[“分”];
$data2[]=$a[“周”],“$a[“联盟平均值”];
}
$str1=内爆(“|”,$data1);
$str2=内爆(“|”,$data2);
回显“$str1”
“$str2。”;
}

我不想在变量周围加引号;我相信我看到的输出(没有引号)是Flot的正确格式。这就是为什么我对它不起作用感到困惑的原因。我的下一个猜测是Flot,我从来没有使用过它,所以我不确定,它不需要字符串。它希望变量类型实际上被设置为整数或小数。你有没有尝试引用你的结果,看看它是否会打印?我尝试添加引号,同样的结果。有没有我可以在Javascript中将数值转换为数字的一种方法?我是否必须使用正则表达式匹配来查找该点字符串中的实际数字?我不想在变量周围加引号;我相信我看到的输出(没有引号)是Flot的正确格式。这就是为什么我对它不起作用感到困惑的原因。我的下一个猜测是Flot,我从来没有使用过它,所以我不确定,它不需要字符串。它希望变量类型实际上被设置为整数或小数。你有没有尝试引用你的结果,看看它是否会打印?我尝试添加引号,同样的结果。有没有我可以在Javascript中将数值转换为数字的一种方法?我是否必须使用正则表达式匹配来查找此时字符串中的实际数字?好的,现在有人能告诉我如何在上面的JS代码中向我的序列添加标签吗?我在divs中设置了一个属性,
data\u label
,该属性存储我要设置的标签的值(上面的代码更新了)。标签也正常工作了!(上面更新了
push()
的代码以反映)。好的,现在有人能告诉我如何在上面的JS代码中向我的系列添加标签吗?我在divs中设置了一个属性,
data\u label
,它存储了我想要设置的标签的值(上面的代码更新了)。标签正常工作了!(上面更新了push()的代码以反映。)