我需要数据库中的值来绘制图表。 我有多条线要在同一图表上绘制。 对于每一行,我需要以下表格中的值,因为数据库中有许多不同的$日期:
$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()语句?
答案 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>";