jquery:给用户一个“无数据”消息,而不是打印一个空图

时间:2012-05-27 18:03:50

标签: php jquery mysql sql charts

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

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

myChart.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;

mainFunc.php

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

1 个答案:

答案 0 :(得分:2)

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

  1. 检测mygraph.php之外的结果不足,并避免首先调用mygraph.php。
  2. 使用JPgraph的工具写入(绘制)文本,使图像显示“未找到结果”。
  3. 检测无结果并跳过图表

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

    现在,由于mygraph.php中不再进行查询,您如何获取图表数据?最简单的方法就是在查询字符串中传递它,mygraph.php可以从$_GET读取它。查看documentation on passing data to jpgraph了解更多选项。

    绘制“无数据”消息

    来自jpgraph网站的

    Here's some code,它向您展示如何创建由文本消息组成的图像。我已经使用了没有安装truetype支持的服务器,这可能会使jpgraph的文本看起来有点不稳定,所以请确保它在您的生产服务器上看起来令人满意。