2013-01-17 2 views
0

PHP 이미지 함수를 사용하여 MySQL 테이블에 저장된 데이터의 통계를 어떻게 동적으로 표시 할 수 있습니까? 정적 테이블에서 count 쿼리를 사용하지만 주어진 Image에 표시된 바와 같이 막대 차트의 형태로 카운트를 표시 할 수 있습니다. 나는 서버의 로그를 동적으로 저장하는 데이터베이스를 가지고있다.Mysql 테이블에서 PHP로 그래프 표시

이미지는 PHP

당신이 시도하는 방법을 잘 모릅니다
+0

화상 누락 – AD7six

답변

1

의 3 개 테이블과 이미지 & 그리기 기능에서 생성됩니다. 하지만 Highcharts라는 멋진 Jquery 플러그인이 있습니다. 이를 사용하여 다양한 유형의 그래프를 만들 수 있습니다. 당신이

http://www.highcharts.com/

0

Rgraph도 사용하기 쉽고 옵션이 많은 아주 좋은 HTML5/자바 스크립트 그래프 라이브러리 인 관심이 있다면 아래의 링크를 참조하시기 바랍니다.

http://www.rgraph.net/

이 당신이 PHP 배열을 추가 할 수있는 방법입니다
var data = ['<?php echo implode("','", $average); ?>']; 

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

은 $ 평균은 숫자 배열, 그것은이 예에서는 레이더 차트입니다. implode 함수는 배열 값 사이에 쉼표를 넣습니다.

0

다음 코드를 사용하여 PHP로 간단한 막 대형 차트를 만듭니다. 데이터베이스에서 bar 값을 가져 와서 $ 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); 
?> 

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