【发布时间】:2013-11-30 18:33:15
【问题描述】:
通过取mysql数据库表的值,想用PHP创建一个条形图。我使用 JpGraph 来绘制条形图。 我想从“学生”表中获取数据。我有一个名为“类别”的列,其中的值为“全职”或“兼职”。我想数数。类别为“全职”的行数和类别为“兼职”的行数。 x 轴应该是类别,y 轴应该是相关的行数。 PHP代码如下;
<?php
require_once('/jpgraph-3.5.0b1/src/jpgraph.php');
require_once('/jpgraph-3.5.0b1/src/jpgraph_bar.php');
$db = mysql_connect("localhost", "root","") or die(mysql_error());
mysql_select_db("mphildatabase",$db) or die(mysql_error());
$sql1 = mysql_query("SELECT category FROM student") or die(mysql_error());
$sql2 = mysql_query("SELECT COUNT(*) FROM student WHERE category='Full Time'") or die(mysql_error());
$sql3 = mysql_query("SELECT COUNT(*) FROM student WHERE category='Part Time'") or die(mysql_error());
while($row1 = mysql_fetch_array($sql1))
{
$row2 = mysql_num_rows($sql2);
$row3 = mysql_num_rows($sql3);
$data[] = $row2;
//$data[] = $row3;
$leg[] = $row1['category'];
}
$graph = new Graph(950,750,"auto");
$graph->SetScale("textint");
$graph->img->SetMargin(50,30,50,50);
$graph->SetShadow();
$graph->xaxis->SetTickLabels($leg);
$bplot = new BarPlot($data);
$bplot->SetFillColor("lightgreen");
$bplot->value->Show();
$bplot->value->SetFont(FF_ARIAL,FS_BOLD);
$bplot->value->SetAngle(45);
$bplot->value->SetColor("black","navy");
$graph->Add($bplot);
$graph->Stroke(); ?>
这将为每行提供一个单独的条形图。将为每一行打印条形图,所有这些条形图的 y 轴值为 1。如何绘制只有 2 个条形的条形图,一个显示类别为“全职”的行数,其他栏显示类别为“兼职”的行数? 谢谢!
【问题讨论】:
标签: php mysql graph bar-chart jpgraph