【问题标题】:Multiple records to Google Charts谷歌图表的多条记录
【发布时间】:2014-10-09 20:15:14
【问题描述】:

我想在 Google Charts 的帮助下从 SQL 查询中创建一个时间线。我使用以下代码创建了编码为 json 的数组。问题是,$table 只包含这段代码末尾的最后一条记录,但我有不止一条记录。

$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;

【问题讨论】:

    标签: php google-visualization timeline


    【解决方案1】:

    在循环中间清空收集结果的数组:

    $rows = array();
    

    把它移到外面。

    免责声明:我没有检查其余代码。

    注意:明智地使用var_dumpprint_r 可以快速告诉您问题所在。

    【讨论】:

    • 是的,我使用 print_r,但它会在最后一行之前显示所有必要的行。问题出在最后一行之后。在此之后,它只显示一条带有列名的记录。
    • 所以,如果我在循环中使用 print_r,它会显示所有必要的行。当我在上面最后一行代码之后使用 print_r 时,它会显示 cols 并且只显示最后一条记录。
    • "它显示了所有必要的行。" - 一次一个?这不打扰你吗?不应该累积吗?
    • 是的,一次一个,我以后还需要所有列出的行。
    • Nem tudom eldonteni hogy angolul nem ertesz vagy gondolkodni nem tudsz。 Mind1,ez ennyiben marad,ha nem erted,hiaba magyarazom。
    猜你喜欢
    • 2011-12-10
    • 2014-05-13
    • 2015-06-02
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 2013-10-16
    相关资源
    最近更新 更多