Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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
Javascript 使用数据库中的两个变量在jqplot中显示图形_Javascript_Php_Arrays_Graph_Jqplot - Fatal编程技术网

Javascript 使用数据库中的两个变量在jqplot中显示图形

Javascript 使用数据库中的两个变量在jqplot中显示图形,javascript,php,arrays,graph,jqplot,Javascript,Php,Arrays,Graph,Jqplot,我是jqplot的新手,我一直在尝试从数据库中显示带有日期(x轴)和值(y轴)的图形。 我设法将日期和值保存到一个漂亮的字符串中(所有数据都用逗号分隔,并且顺序良好),但当我调用$.jqplot('chart1',[total1]时,它不起作用!:( 我什么都试过了,我的想法和希望都快用完了。 任何帮助或指点都将不胜感激。 来自绝望的新手的问候 <?php $conn = mysql_connect($host, $user, $password);

我是jqplot的新手,我一直在尝试从数据库中显示带有日期(x轴)和值(y轴)的图形。 我设法将日期和值保存到一个漂亮的字符串中(所有数据都用逗号分隔,并且顺序良好),但当我调用$.jqplot('chart1',[total1]时,它不起作用!:( 我什么都试过了,我的想法和希望都快用完了。 任何帮助或指点都将不胜感激。 来自绝望的新手的问候

    <?php

        $conn = mysql_connect($host, $user, $password);
        mysql_select_db($database);

 $MenuSelection = $_POST['dropDownMenu'];// select field from dropdownmenu   
        $conn = mysql_connect($host, $user, $password);
        mysql_select_db($database);

 $sql = "SELECT date," . $MenuSelection . " FROM errorscounted where date       between '$CurrentDate' and '$FinalDate'";

            $result = mysql_query($sql);
            $data = array();
            while ($row = mysql_fetch_assoc($result)) {
                $data[] = $row;
            }

            mysql_free_result($result);

    mysql_close();
    ?>

<script type="text/javascript" >

 $(document).ready(function () {
var total1 = "";

// create a for loop to get dates and values and save them in a string
<?php for ($x = 0; $x <= 4; $x++) { ?>
var line1 = [['<?php echo $data[$x]['date'] ?>',
<?php echo $data[$x][$myvalue] ?>], ];

// concatenated the string and seperated the dates and values by a comma
total1 = total1.concat(line1) + ",";
    <?php } ?>
//delete the last comma
 total1 = total1.substring(0, total1.length - 1);

// an alert that shows that all the data was saved correctly
 alert(total1); 

 var plot1 = $.jqplot('chart1', [total1], {
animate: !$.jqplot.use_excanvas,
title: 'Number of errors from <?php echo $_POST['dateStart'] ?> to <?php echo $_POST['dateEnd'] ?> for <?php echo $_POST['dropDownMenu'] ?> ',
                            seriesDefaults: {
                                pointLabels: {show: true}
                            },
                            axesDefaults: {
                                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                                tickOptions: {
                                    angle: -30,
                                    fontSize: '10pt'
                                }
                            },
                            axes: {
                                xaxis: {
                                    renderer: $.jqplot.CategoryAxisRenderer,
                                    // renderer: $.jqplot.DateAxisRenderer,
                                    tickOptions: {
                                    }
                                },
                                yaxis: {
                                    tickOptions: {
                                    }
                                }
                            },
                            highlighter: {
                                show: false,
                                sizeAdjust: 7.5
                            },
                        });
                    });
                </script>
],];
//连接字符串并用逗号分隔日期和值
total1=total1.concat(line1)+“,”;
//删除最后一个逗号
total1=total1.子字符串(0,total1.length-1);
//显示所有数据已正确保存的警报
警报(总计1);
变量plot1=$.jqplot('chart1',[total1]{
动画:!$.jqplot.use_excanvas,
标题:'的从到的错误数,
系列默认值:{
点标签:{show:true}
},
axesDefaults:{
tickRenderer:$.jqplot.CanvasAxisTickRenderer,
选择:{
角度:-30,
字体大小:“10磅”
}
},
轴线:{
xaxis:{
渲染器:$.jqplot.CategoryAxisRenderer,
//渲染器:$.jqplot.DateAxisRenderer,
选择:{
}
},
亚克斯:{
选择:{
}
}
},
荧光灯:{
秀:假,,
SizedJust:7.5
},
});
});

多亏了我的一位同事,我终于解决了我的问题!:)

我给了jqplot一个字符串,但它需要一个数组!这是我非常简单的解决方案。希望它能帮助别人! 这是我的代码,100%防弹

            <script type="text/javascript" >

                $(document).ready(function () {
                    var total1 = [];

 // create a for loop to get dates and values and save them in a string
<?php
$j = count($data);
for ($x = 0; $x < $j; $x++) {
    ?>

                        var line1 = ['<?php echo $data[$x]['date'] ?>',<?php echo $data[$x][$myvalue] ?>];
                        total1.push(line1);
<?php } ?>
                    // alert(total1);
                    var plot1 = $.jqplot('chart1', [total1], {
                        animate: !$.jqplot.use_excanvas,
                        title: 'Number of errors from <?php echo $_POST['dateStart'] ?> to <?php echo $_POST['dateEnd'] ?> for <?php echo $_POST['dropDownMenu'] ?> ',
                        seriesDefaults: {
                            pointLabels: {show: true}
                        },
                        axesDefaults: {
                            tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                            tickOptions: {
                                angle: -30,
                                fontSize: '10pt'
                            }
                        },
                        axes: {
                            xaxis: {
                                renderer: $.jqplot.CategoryAxisRenderer,
                                //renderer: $.jqplot.DateAxisRenderer,
                                tickOptions: {
                                }
                            },
                            yaxis: {min: 0,
                            }
                        },
                        highlighter: {
                        },
                    });
                });
            </script>

$(文档).ready(函数(){
var total1=[];
//创建for循环以获取日期和值,并将它们保存在字符串中
变量line1=['',];
总计1.推送(第1行);
//警报(总计1);
变量plot1=$.jqplot('chart1',[total1]{
动画:!$.jqplot.use_excanvas,
标题:'的从到的错误数,
系列默认值:{
点标签:{show:true}
},
axesDefaults:{
tickRenderer:$.jqplot.CanvasAxisTickRenderer,
选择:{
角度:-30,
字体大小:“10磅”
}
},
轴线:{
xaxis:{
渲染器:$.jqplot.CategoryAxisRenderer,
//渲染器:$.jqplot.DateAxisRenderer,
选择:{
}
},
yaxis:{min:0,
}
},
荧光灯:{
},
});
});