1

我有一个基于 MySQL 数据绘制图表的代码。但是,我想通过以下方式改进此代码 - 如果 MySQL 结果集为空,那么我想显示一条文本消息(例如“无输入数据”)而不是图表。

我正在寻找一种更新方法,mainFunc.php以便它可以读取输出mainChart.php并显示图表或文本消息。如何以最简单的方式做到这一点?

我的图表.php

include_once '../include/DatabaseConnector.php';    
$query1="SELECT xxx, yyy FROM mySQLTable;";
$result1=DatabaseConnector::ExecuteQueryArray($query1);
$num_results = mysql_num_rows($result1); 
if ($num_results > 0){ 
// do something
echo 1;
}
else echo 0;

主函数.php

<div class="scrollbar" id="chart">
    <img src="charts/myChart.php">
</div>
4

1 回答 1

2

关于 jpgraph 的棘手部分是它返回一个图像文件,所以你不能只在 jpgraph 文件中回显一些文本。你有两个选择:

  1. 检测 mygraph.php 之外缺少的结果,并避免首先调用 mygraph.php。
  2. 使用 JPgraph 的工具来编写(绘制)文本,以制作显示“未找到结果”的图像。

未检测到结果并跳过图表

要执行 #1,只需将查询代码从 mygraph.php 中提取出来(如果需要,将其放入不同的包含文件中)。查询后,统计结果。如果为零,则返回一些文本并将其写入页面。如果有结果,请像现在一样返回一个 img 标签,并将其写入页面。

现在,由于查询不再在 mygraph.php 中完成,您如何将数据获取到图表中?最简单的方法就是在查询字符串中传递它,mygraph.php 可以从$_GET. 查看有关将数据传递到 jpgraph 的文档以获取更多选项。

绘制“无数据”消息

这是 jpgraph 网站上的一些代码,向您展示了如何创建由文本消息组成的图像。我使用的服务器没有安装 truetype 支持,这会使 jpgraph 的文本看起来有点不稳定,因此请确保它在您的生产服务器上看起来令人满意。

于 2012-05-27T18:27:30.637 回答