PHP +jpgraph实现柱型图表,但是横坐标显示为框框,不知是何原因
更新:HHH   时间:2023-1-7


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

返回web开发教程...