0

我正在运行查询以从数据库表中获取几个小时的总和以显示在 PDF 文件中,但由于某些奇怪的原因,它不会回显 0(零)。

 $query = mysql_query("SELECT id, SUM(hours_night), SUM(hours_days) FROM table WHERE invoiceID='".mysql_real_escape_string($invoiceID)."'") or die(mysql_error());
 $result = mysql_num_rows($query);

 $totalhours_night = 0;


     while ($fetch = mysql_fetch_assoc($query)) {

         $totalhours_night += $fetch['SUM(hours_night)'];
     }


$html_output = "Some html and tables markup... " . $totalhours_night . "";

html 的输出工作正常,这不是问题.. 但问题是由于某种原因它不会输出 0(零)。如果小时结果实际上是 1 或 5 或任何输出总小时数的东西,但如果没有小时,我需要它输出 0。

因为如果没有小时不输出任何内容看起来很奇怪,我需要显示一个 0 零,因为这看起来更好。

顺便说一句,如果我把 number_format($totalhours_night, 2); 它确实显示 0.00,但我需要它只是 0。

4

2 回答 2

1

三件事:

  1. 你的 SQL 查询是错误的,你不能显示idSUM(..)除非你使用(如果是唯一GROUP BY id的,哪个孩子会失去这个想法)id
  2. 如果使用SUM(..)给它起一个别名就好了SUM(..) AS alias1,以后在PHP中参考alias1
  3. 如果这不是原因,试着var_dump($fetch['alias1']);看看你真正得到了什么。(并在此处发布您的发现,以便我们为您提供进一步的帮助)
于 2012-05-25T05:33:06.283 回答
1

像这样将整数视为字符串-

echo (string)$totalhours_night;
于 2012-05-25T05:10:19.463 回答