从数据库提取数据利用jpgraph画统计图柱形图

来源:互联网 发布:手机word文档软件 编辑:程序博客网 时间:2024/04/30 00:25
JpGraph安装方法
JpGraph 是一个强大的绘图组建,能根据用户的需要绘制任意图形,根据提供数据自动生成图形。可以应用在任意PHP环境中。
安装
从官方网站http://jpgraph.net/上下载适合php版本的Jpgraph
安装方法:(1)解压到一个文件夹下,如D:\jpgraph
               (2)修改php.ini中的inclde_path,如:include_path = ".;D:\jpgraph".
               (3)重启Apache。
或者将src文件夹直接解压到项目目录下,这样Jpgraph只对当前项目有效。

Jpgraph需要GD库的支持,要将php.ini中;extension=php_gd2.dll前的分号去掉


为了易于理解分成三个页面


conn.php//连接数据库

<?php
    header("content-type:text/html;charset=utf-8");
$conn = mysql_connect("localhost","root","") or die("连接服务器失败");
mysql_select_db("db_test8");
mysql_query("set names utf8");
?>


lx3.php//主页

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>成绩查询</title>
</head>


<body>
<?php
include('conn.php');
$sql = 'select distinct(km) from tb_grade';
$r = mysql_query($sql);

?>
<form action="lx3do.php" method="post">
    请选择要查询成绩的科目:
<select name="sel">
      <?php
  while($row = mysql_fetch_array($r)){
echo '<option value="'.$row['km'].'">';
echo $row['km'];
echo '</option>';
}
 ?>
   
    </select>
    <input type="submit" value="查询" name="sub"/>
</form>
</body>
</html>


lx3do.php

<?php
header ( "Content-type: text/html; charset=UTF-8" ); 
require_once 'D:/jpgraph/jpgraph.php';    
require_once 'D:/jpgraph/jpgraph_bar.php';
include('conn.php');


if(isset($_POST['sub'])){

$km = $_POST['sel'];


$sql = "select * from tb_grade where km='$km'";
$result = mysql_query($sql,$conn);
$rowCount = mysql_num_rows($result);
$data = array();
$datas = array();

while ($row=mysql_fetch_array($result)) {
$data[] = $row["xh"];
$datas[] = $row["cj"];



}


$graph = new Graph(800, 600);     //设置画布大小
$graph->SetScale('textlin');     //设置坐标刻度类型
$graph->SetShadow();    //设置画布阴影


$graph->img->SetMargin(40, 30, 20, 40);    //设置统计图边距


$barplot = new BarPlot($data);    //实例化BarPlat对象


$graph->Add($barplot);


$barplot->value->Show();
$graph->title->Set(iconv("utf-8","gb2312",$km));     //设置统计图标题
$graph->xaxis->title->Set(iconv("utf-8","gb2312","学号"));     //设置X轴名称
$graph->xaxis->SetTickLabels($datas);
$graph->yaxis->title->Set(iconv("utf-8","gb2312",'成绩(百分制)'));     //设置y轴名称
$graph->title->SetFont(FF_SIMSUN, FS_BOLD);     //设置标题字体,简体中文,黑体字,
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);    //设置X轴字体
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);    //设置Y轴字体


$graph->Stroke();     //输出图像
}
?>
最终效果:



数据库的参数(方便更好理解)




注意:1、在使用jpgraph的时候<?php前绝对不可以有空格 或者把文件不小心以有bom头的方式保存 如果有这些错误就不能正常运行



0 0