2016-03-19 7 views
0

を追加:は、私はテーブルには、次の行で<code>flagged_posts</code>と呼ばれていたデータベースからのデータに基づいて、HTMLでgrahps(PHP)

id 
thought_id (id of the post being flagged) 
user_id (id of the user who is flagging the post) 

私はフラグを立てどのように多く表示されます(今のところ)のグラフを実装しようとしています現在の日付(x軸は日、すなわち月曜日、火曜日など)に投稿が表示され、y-xisにはインシデントの数が表示されます。

私はcharts.jsを見ましたが、これらのグラフをデータベースデータに基づいて使用できるかどうかは不明です。私。月曜日に10件のフラグが立てられたインシデントがある場合は、$mon_flagged = 10、変数を使用してグラフにデータを表示しますか?またはDBから自動的にデータを取得する別の方法ですか?

答えて

0

https://www.amcharts.com/tutorials/using-php-to-hook-up-charts-to-mysql-data-base/Youまず、チャートライブラリ用の有用なフォーマットになる配列にデータを構築する必要があります。あなたは、関連するデータを選択した後

、このような配列のものにそれをフォーマット:

function formatDataForChartsJs($result){ 
    while ($row = mysql_fetch_assoc($result)) { 
     if($row['post_is_flagged']) {  
      $data[$row['date_created']] += 1; 
     } 
    } 
    return $data 
} 

は、次に、あなたのjavascriptライブラリをチャート化での使用に適した配列で終わる必要があります。このような何か:

$data = [ 
    2016-03-7 => 10 
    2016-03-08 => 15 
    ... 
] 

あなたは、あなたはjavascriptのチャートライブラリを使用してデータを使用できるように、フロントエンドにデータを渡す方法を理解する必要があります。

phpデータ変数を取得してjson文字列としてエンコードする通常の方法です。次に、あなたのビューで

$data = fetchData(); 
$formattedData = formatDataForChartsJs(); 
$dataAsJsonString = json_encode($formattedData); 

<script type=text/javascript> 
var graphData = <?php echo $dataAsJsonString ?> 
//use your graph data variable with chart.js or other javascript graph library 
</script> 

あり良いチュートリアルはここですが、私は、JSON文字列を印刷へのアプローチではなく、json_encodeを使用して助言します。

https://www.amcharts.com/tutorials/using-php-to-hook-up-charts-to-mysql-data-base/

関連する問題