Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JpGraph:使用MySQL数据创建PHP条形图_Php_Mysql_Graph_Bar Chart_Jpgraph - Fatal编程技术网

JpGraph:使用MySQL数据创建PHP条形图

JpGraph:使用MySQL数据创建PHP条形图,php,mysql,graph,bar-chart,jpgraph,Php,Mysql,Graph,Bar Chart,Jpgraph,通过获取mysql数据库表值,希望创建PHP条形图。我用JpGraph来画条形图。 我想从“学生”表中获取数据。我有一个名为“category”的列,其中的值是“全职”或“兼职”。我想计算类别为“全职”的行数和类别为“兼职”的行数。x轴应为类别,y轴应为相关行数。 PHP代码如下所示 <?php require_once('/jpgraph-3.5.0b1/src/jpgraph.php'); require_once('/jpgraph-3.5.0b1/src/jpgraph_bar

通过获取mysql数据库表值,希望创建PHP条形图。我用JpGraph来画条形图。 我想从“学生”表中获取数据。我有一个名为“category”的列,其中的值是“全职”或“兼职”。我想计算类别为“全职”的行数和类别为“兼职”的行数。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(); ?>

您必须只使用一个查询,并在一个循环中填充数组。
您的查询必须是:

"SELECT count(*) as num_rows, category from 
student WHERE category ='Full Time' or Category= 'Part Time'
Group by Category
  "

...

while($row1 = mysql_fetch_array($sql1))
{
$leg[] = $row1['category'];
$data[] = $row1['num_rows']
}

您必须只使用一个查询,并在一个循环中填充数组。 您的查询必须是:

"SELECT count(*) as num_rows, category from 
student WHERE category ='Full Time' or Category= 'Part Time'
Group by Category
  "

...

while($row1 = mysql_fetch_array($sql1))
{
$leg[] = $row1['category'];
$data[] = $row1['num_rows']
}

这将发出错误消息,因为“X或Y数据数组包含非数值。检查数据是否确实指定为数字数据而不是字符串。为什么?解决了!将数组更改为
$leg[]=$row1['num-rows']$数据[]=第1行['category']。谢谢@chessar。这将显示一条错误消息,因为“X或Y数据数组包含非数值。检查数据是否确实指定为数字数据而不是字符串。为什么?解决了!将数组更改为
$leg[]=$row1['num-rows']$数据[]=第1行['category']。谢谢你,切萨尔。