0

PHP 画像関数を使用して、MySQL テーブルに動的に格納されたデータの統計を表示するにはどうすればよいですか? 静的テーブルでカウントクエリを使用して棒グラフの形式でカウントを表示できますが、与えられた画像に示すように. サーバーのログを動的に保存するデータベースがあります。

3つのテーブルとphpの画像&描画関数から画像を生成

4

3 に答える 3

1

Rgraph は非常に優れた HTML5/Javascript グラフ ライブラリでもあり、使いやすく、多くのオプションがあります。

http://www.rgraph.net/

var data = ['<?php echo implode("','", $average); ?>']; 

function drawGraph(){
    RGraph.Clear(document.getElementById('myRadar'));
    var radar = new RGraph.Radar('myRadar', data);

これは、PHP 配列を追加する方法です。$average は数値の配列で、この例ではレーダー チャートです。implode 関数は、配列の値の間にコンマを挿入します。

于 2013-01-17T08:54:26.890 に答える
1

あなたがどのように努力しているのかわかりません。しかし、Highcharts という優れた Jquery プラグインがあります。これを使用して、さまざまな種類のグラフを作成できます。興味のある方は下のリンクを参照してください

http://www.highcharts.com/

于 2013-01-17T07:47:41.303 に答える
0

次のコードを使用して、php で単純な棒グラフを作成しました。データベースからバーの値を取得し、$data 配列に入れる必要があります。次に、画像サイズの $height と $width を設定する必要があります。画像のサイズに基づいて、チャットを配置する必要があります。

<?php

$data = array('400', '2570', '245', '473', '1000', '3456', '780', '5000', '30', '420');
$sum = array_sum($data);

$height = 480;
$width  = 640;

$im         = imagecreate($width, $height);
$background = imagecolorallocate($im, 255, 255, 255);

$white  = imagecolorallocate($im, 255, 255, 255);
$black  = imagecolorallocate($im, 0, 0, 0);
$red    = imagecolorallocate($im, 255, 0, 0);
$green  = imagecolorallocate($im, 51, 153, 0);
$yellow = imagecolorallocate($im, 255, 255, 0);

imageline($im, 10, 5, 10, $height - 20, $black);
imageline($im, 10, $height - 20, 620, $height - 20, $black);

header("Content-type: image/png");

$x       = 11;
$y       = 459;
$x_width = 20;
$y_ht    = 0;

$max_i = count($data);
for ($i     = 0; $i < $max_i; $i++) {
    $y_ht = ($data[$i] / $sum) * $height;
    if ($data[$i] > 1000) {
        imagefilledrectangle($im, $x, $y, $x + $x_width, ($y - $y_ht), $green);
    } else if ($data[$i] > 500) {
        imagefilledrectangle($im, $x, $y, $x + $x_width, ($y - $y_ht), $yellow);
    } else {
        imagefilledrectangle($im, $x, $y, $x + $x_width, ($y - $y_ht), $red);
    }
    imagestring($im, 2, $x - 1, ($y - $y_ht - 15), $data[$i], $black);
    $x += ($x_width + 2);
}
imagepng($im);
imagedestroy($im);
?>

参照: http://www.talkphp.com/advanced-php-programming/1629-bar-chart-php.html

于 2013-01-17T09:38:55.343 に答える