0
私を助けることができるかどうかわかりません。私はテーブルを照会して、H軸の時間軸とカウントのV軸をグラフに取り込み、データベーステーブルのサーバーに基づいてグラフにフィルタを動的に追加しようとしています。現時点では静的です。PHPがデータベースクエリから配列にキーを追加する
iは、データベースを照会し、グラフ
$results = array();
foreach(\IPS\Db::i()->select('*', 'stats', $where, 'time ASC') as $row)
{
$value = '_'.$row['server'];
if(!isset($results[ $row['time'] ]))
{
$results[ $row['time'] ] = array(
'time' => $row['time'],
'_64' => 0,
'_66' => 0
);
}
//$results[ $row['time'] ][$value] = 0;
if ($value == '_64')
{
$results[ $row['time'] ]['_64'] = $row['value_1'];
}
elseif($value == '_66')
{
$results[ $row['time'] ][ '_66' ] = $row['value_1'];
}
}
return $results;
にシリーズを追加し、私がすることによって、それを動的にしようとした
$chart->addSeries('_66', 'number');
$chart->addSeries('_64', 'number');
フィルタに追加するには、次のコードを使用します行うこと
foreach(\IPS\Db::i()->query("SELECT DISTINCT server FROM stats ORDER BY server") as $row)
{
$value = '_'.$row['server'];
$chart->addSeries($value, 'number');
}
と
$value = '_'.$row['server'];
if(!isset($results[ $row['time'] ]))
{
$results[ $row['time'] ] = array(
'time' => $row['time'],
$value => 0,
);
}
$results[ $row['time'] ][$value] = $row['value_1'];
しかし、これはどのような方法で動作しませんでした。私はim配列全体を完全に間違って追加するつもりだと思う。何か提案してください?
配列は、私はそれが最終的に動作させることに成功し、この
array (size=8)
1504025011 =>
array (size=3)
'time' => int 1504025011
'_64' => int 2
'_66' => int 0
1504094803 =>
array (size=3)
'time' => int 1504094803
'_64' => int 0
'_66' => int 14
代わり
array (size=8)
1504025011 =>
array (size=2)
'time' => int 1504025011
'_64' => int 2
1504094803 =>
array (size=2)
'time' => int 1504094803
'_66' => int 14