将查询中的值放入数组中

时间:2015-05-18 09:37:56

标签: php mysql wordpress

我需要数据库中的值来绘制图表。 我有多条线要在同一图表上绘制。 对于每一行,我需要以下表格中的值,因为数据库中有许多不同的$日期:

$graph_points1 = array(array($date, $value), array($date, $value), array($date, $value)); 

我有一个查询来从数据库中获取数据:

$data = $wpdb->get_results($wpdb->prepare( "SELECT * FROM `wp_graph_info` ORDER BY DATE ASC"));

如果我使用以下代码:

foreach($data as $datas){
$list_name = $datas->list_name;
$date = $datas->date;
$value = $datas->subscriber_count;
if($list_name == 'line1'){
$result = array(array($date,$value));}}

的print_r($结果);会给:

Array ( [0] => Array ( [0] => 2015-05-16 [1] => 131 ) ) 
Array ( [0] => Array ( [0] => 2015-05-17 [1] => 133 ) ) 
Array ( [0] => Array ( [0] => 2015-05-18 [1] => 137 ) ) 

这几乎是我想要的。 我需要得到结果:

$graph_points1 = array(array(2015-05-16, 131), array(2015-05-17, 133), array(2015-05-18, 137));

我怎么把它放在上面的表格中?

此外,我无法在x轴上绘制日期。我如何只检索“一天”#39;价值所以我有:

$graph_points1 = array(array(16, 131), array(17, 133), array(18, 137));

此外,如果有办法遍历所有th $ list_names(我有7个不同的列表,所以我的图表将绘制7行)或者我是否需要为每个列表使用if()语句?

1 个答案:

答案 0 :(得分:1)

$result = [];
foreach($data as $datas){
  $list_name = $datas->list_name;
  $date = $datas->date;
  $value = $datas->subscriber_count;
  list($year, $month, $day) = explode('-', $date);
  $result[$list_name][] = array($day,$value);
}

echo "<pre>";var_dump($result);echo "</pre>";