<?php
header('connect-type:text/html; charset=utf-8');
include 'conn.php';
$sql = "select xy_id,count(1) as counts from stu_inf group by xy_id";
$r = $conn -> query($sql);
$rs = array();
while ($row = mysqli_fetch_array($r)){
$rs[] = $row['counts'];
}
$sql_xy = "select * from xy_inf group by xy_id";
$r_xy = $conn -> query($sql_xy);
$xy = array();
while ($row_xy = mysqli_fetch_array($r_xy)){
$xy[] = $row_xy['stu_xy'];
}
require_once 'src/jpgraph.php';
require_once 'src/jpgraph_bar.php';
$graph = new Graph(600, 300);
$graph->SetScale('textlin');
$graph->SetShadow();
$graph->img->SetMargin(40, 30, 20, 40);
$barplot = new BarPlot($rs);
$graph->Add($barplot);
$barplot->value->Show();
$graph->title->Set(iconv("utf-8","gb2312","全校学生数量"));
$graph->xaxis->title->Set(iconv("utf-8","gb2312","学院"));
$graph->xaxis->SetTickLabels($xy);
$graph->yaxis->title->Set(iconv("utf-8","gb2312",'人数'));
$graph->title->SetFont(FF_SIMSUN, FS_BOLD);
$graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);
$graph->Stroke();
?>
数据库连接:conn.php
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE','db_student');
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD,DB_DATABASE) or die("连接数据库服务器失败!".mysqli_connect_err
or());
mysqli_query($conn,'set names utf8');
?>
数据库:
mysql> use db_student;
mysql> desc stu_inf;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | smallint(6) | NO | PRI | NULL | auto_increment |
| stu_xh | varchar(8) | NO | UNI | NULL | |
| stu_xm | varchar(40) | NO | | NULL | |
| xb_id | smallint(6) | NO | MUL | NULL | |
| xy_id | smallint(6) | NO | | NULL | |
| stu_bj | varchar(4) | NO | | NULL | |
+--------+-------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)
mysql> desc xy_inf;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| xy_id | smallint(6) | NO | PRI | NULL | auto_increment |
| stu_xy | varchar(40) | NO | | NULL | |
+--------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)