2013-01-17 54 views
0

如何使用PHP圖像函數動態顯示存儲在MySQL表中的數據的統計信息?我可以在靜態表上使用計數查詢來顯示條形圖形式的計數,但如圖所示。我有數據庫動態地存儲服務器的日誌。使用php從Mysql表中顯示圖表

的圖像從PHP

+0

圖像丟失 – AD7six

回答

1

我不知道你是怎麼想的3個表和圖像&繪製函數生成。但是有一個叫做Highcharts的好的Jquery插件。您可以使用它來創建各種類型的圖形。請參考下面的鏈接,如果你有興趣

http://www.highcharts.com/

0

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數組,$平均與數字陣列,它在這個例子中的雷達圖。 implode函數在數組的值之間插入一個逗號。

0

我用下面的代碼用php創建一個簡單的條形圖。 您必須從數據庫中獲取bar值並將其放入$ data數組中。 接下來必須爲圖像大小設置$高度和$寬度。 根據您的圖片大小,您必須定位聊天。

<?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); 
?> 

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