将PHP数组转换为javascript数组,传递给jQuery.flot进行绘图
Turn PHP array into javascript array to pass to jQuery.flot for charting
我一直在逐步构建一个PHP页面,这样我就可以确认每一块都能正常工作,等等。我还有JS中的罐装数据,这些数据被传递给jQuery.flot,用于创建堆叠条形图。
基本上,我已经完成了所有的工作,但现在,我对如何将PHP数组输出到JS数组感到困惑。不管我做什么似乎都不起作用。
我需要我的js数组显示如下:
var Tim_data1 = [
[Tim_gd(2014,1,1),13], [Tim_gd(2014,1,2),30], etc., etc.
];
"Tim_gd"函数将传递的值转换为unix日期/时间。此图表按日期绘制随时间变化的数据。因此,js数组的每个元素都是Tim_gd(,,),]。由于数据量的原因,将为每个月等创建此图表。
概述:
- 值是通过mysql-select在同一PHP代码中检索的,这不是来自Ajax,也不是来自其他外部源
- 选择中返回的行包含日期(以YYYY-MM-DD的形式)以及具有该日期的记录数
- 我一次只做一个月的图表
创建数组的PHP代码片段:
<?php
$chartdata = array();
.
.
.
$result2 = mysql_query( $query2 ) or die(mysql_error());
while ($row2 = mysql_fetch_array($result2)) {
$event_date = $row2['event_date']; // date returned as string, YYYY-MM-DD
$event_count = $row2['event_count'];
// Build up php array
$chartdata[$event_date] = $event_count;
}
我已经使用PHP"foreach"将上述数据输出到一个HTML表中,所以我知道我正在获取值等。我应该也可以使用PHP substr函数来获取日期的组成部分,以提取年、月、日。创建/输出javascript的代码如下:
<script type="text/javascript">
var TimData1 =[
<?php
foreach ($chartdata as $k => $v) {
$yr = substr($k,0,4);
$day = substr($k,5,2);
$mon = substr($k,8,2);
$HTML = <<< eof
[Tim_gd($yr,$mon,$day),$v],
eof;
}
?>
];
</script>
通过上面的PHP代码片段,我得到的输出只有:
<script type="text/javascript">
var TimData1 =[
];
</script>
没有数据输出。。。。我也尝试过使用PHP echo,但也没有成功。我提前道歉,因为我知道这很简单,但过去几天我一直在用消防水管喝水,试图同时解决多个问题。我已经为此困惑了好几个小时,似乎还没有找到解决办法。
那么,我做错了什么?我知道我会遇到js数组中尾部逗号的问题,用上面概述的方法也可以解决。
或者有没有一种方法可以将JSON数据传递给jQuery.flot,这会影响传递给.plot函数的"选项"吗?我似乎找不到一个相关的例子。这并不意味着它不存在——我只是还没有找到它。
为什么不使用两种语言都能处理的JSON格式?
你可以这样做:
<?php
$chartJSON = json_encode($chartdata);
?>
<script type="text/javascript">
json = "<?php echo $chartJSON;?>";
var TimData1 = JSON.parse(json);
</script>
相关文章:
- 按键,值到数组:jQuery
- 数组数组jquery,json到数组
- 从数组jquery中基于子字符串的移除项
- 从数组jQuery中删除一组项
- 如何在数组jQuery中查找字符串的一部分
- 当输入字段名称在数组jquery中时序列化表单
- 打乱图像数组jquery
- 在数组 jQuery 中查找值
- 循环遍历多维数组 jQuery
- 在数组 jQuery 中查找特定的字符串模式
- 随机选择带有删除项的数组(jQuery)
- 在数组中附加值数组 - jquery
- 从数组 Jquery 中获取下拉列表的选定索引
- 删除相同值数组 Jquery
- 如何从数组 jquery 中删除特定值
- 将 2D 数组 jQuery Post 发送到 Java Servlet
- 获取数组jQuery中元素的索引
- 正在从会话数组Jquery Ajax中删除项
- 在GET请求中绑定复杂对象的数组-jquery.praram()传统标志
- 获取空对象数组jquery post