Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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 使用MySQL中的PHP数组数据生成Google函数图,但函数并没有可视化_Javascript_Php_Mysqli_Google Visualization - Fatal编程技术网

Javascript 使用MySQL中的PHP数组数据生成Google函数图,但函数并没有可视化

Javascript 使用MySQL中的PHP数组数据生成Google函数图,但函数并没有可视化,javascript,php,mysqli,google-visualization,Javascript,Php,Mysqli,Google Visualization,我想用来自MySQL数据库localhost的数据从GoogleCharts创建一个函数图。使用联机标记语言验证器编译时,该程序未显示与本主题冲突的错误,尽管在浏览器中查看时,它仍不会创建函数图。我检查了我的代码和在线资源,包括来自这个论坛的多篇关于这个主题的帖子,但是没有结果。 PHP代码确实可以工作。我能马上想到的唯一一件事是,JavaScript代码没有正确加载 JavaScript部分是从sgooglelinechart类型函数sourcecode稍微修改的版本 代码: 首先,array

我想用来自MySQL数据库localhost的数据从GoogleCharts创建一个函数图。使用联机标记语言验证器编译时,该程序未显示与本主题冲突的错误,尽管在浏览器中查看时,它仍不会创建函数图。我检查了我的代码和在线资源,包括来自这个论坛的多篇关于这个主题的帖子,但是没有结果。 PHP代码确实可以工作。我能马上想到的唯一一件事是,JavaScript代码没有正确加载

JavaScript部分是从sgooglelinechart类型函数sourcecode稍微修改的版本

代码:


首先,arrayToDataTable似乎需要传递一个参数

var data = google.visualization.arrayToDataTable([]);
其次,日期和日光不是正确的类型。当它们需要成为数组时,它们当前是字符串

var date = JSON.parse(<?php echo JSON.stringify($date_array); ?>);
var daylight = JSON.parse(<?php echo JSON.stringify($daylight_array); ?>);

在推送这两个更新之后,它似乎对我很好。

我认为您初始化数据表的方法是不正确的。arrayToDatatable使用单个调用创建并填充数据表。因此,您应该使用如下方式初始化DataTable:

var data = new google.visualization.DataTable();
没有时间尝试,但似乎是这样


如果您坚持使用您使用的方法,那么请根据文档为该方法提供数据数组。

您是否检查了生成的源代码,特别是JSON?您是否在浏览器控制台中收到任何错误消息?如果你控制台.logdata呢?我在哪里可以这样做,在浏览器中,或者我必须在代码中写这个,很抱歉问一下,但我对javascript相对较新?在没有新代码的google代码中,它是如此的重要,他们应该知道什么是正确的。jeesus不是在纠正Google,他是在纠正你。在开始防御之前,请仔细检查链接的文档和您自己的代码。@ChrisG我检查了console.log date和day,两者都没有任何内容,数据也没有输出任何内容。这意味着assignedment不起作用,即使当我在php部分中回显json_encode时,json_encode也能起作用。你知道为什么这不起作用吗?如果你修改了代码,请把你当前的版本放在问题中。没有新代码,谷歌代码上的版本是如此,他们应该知道什么是正确的。我也在看文档,我没有发现任何地方他们给出了误导性的例子。在他们初始化新对象的每个地方,new关键字都会按原样使用。像arrayToDataTable这样的方法不需要关键字。@Andreas,因为它们在函数调用中正确放置数据时使用您的版本;但是,当他们向现有表中添加列和行时,会使用此答案中的行。工作示例:那么date和daylight应该是数组,还是我需要首先将它们初始化为数组?检查所需的更改。您的数据很好,但需要修复创建和绘制DataTable的行。在JavaScript中,不需要分号。这里的问题与语法完全无关。
var data = new google.visualization.DataTable();