Google Charts的多条记录 [英] Mutiple records to Google Charts
本文介绍了Google Charts的多条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想借助Google图表在SQL查询中制作时间表。我已经使用了foillowing代码来创建编码为json的数组。问题是,$ table只包含该代码末尾的最后一条记录,但我有超过1条记录。
I would like to make a timeline from a SQL query with the help of Google Charts. I have used the foillowing code to create the array, that encode to json. The problem is, that $table contains only the last record on the end of this code, but I have more than 1 record.
$rows = array();
$table = array();
$table['cols'] = array(
array('id' => '', 'label' => 'Name', 'pattern' => '', 'type' => 'string'),
array('id' => '', 'label' => 'Start', 'pattern' => '', 'type' => 'date'),
array('id' => '', 'label' => 'End', 'pattern' => '', 'type' => 'date') );
while($r = mysql_fetch_assoc($results)) {
$name=$r['Name']; $date=$r['Date'];
$start=$r['start'];
$end=$r['end'];
$year=date("Y", strtotime($date));
$month=date("m", strtotime($date));
$day=date("d", strtotime($date));
$start_h=date("H", strtotime($start));
$start_min=date("i", strtotime($start));
$start_sec=date("s", strtotime($start));
$end_h=date("H", strtotime($end));
$end_min=date("i", strtotime($end));
$end_sec=date("s", strtotime($end));
$start_merged = "Date(".$year.",".$month.",".$day.",".$start_h.",".$start_min.",".$start_sec.")";
$end_merged = "Date(".$year.",".$month.",".$day.",".$end_h.",".$end_min.",".$end_sec.")";
$rows = array();
$temp = array();
$temp[] = array('v' => (string) $name);
$temp[] = array('v' => (string) $start_merged);
$temp[] = array('v' => (string) $end_merged);
$rows[] = array('c' => $temp);
}
$table['rows'] = $rows;
推荐答案
您清空收集结果的数组循环的中间部分:
You empty the array in which you collect the results in the middle of the loop:
$rows = array();
移动到外面。
免责声明:
注意:明智地使用 var_dump
或 print_r
可以快速告诉你问题出现在哪里。
Note: judicious use of var_dump
or print_r
can quickly show you where the problem occours.
这篇关于Google Charts的多条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文