Я выполняю запрос, чтобы получить общую сумму нескольких часов из таблицы базы данных для отображения в файле 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.
echo $totalhours_night;
? Если это так, PHP действительно ничего не выведет в этом случае (что меня всегда очень раздражало). Просто сделайтеecho $totalhours_night . '';
вместо этого. - person laurent   schedule 25.05.2012echo 0;
→0
. - person deceze♦   schedule 25.05.2012if ($fetch['SUM(hours_night)'] != 0)
— этоfalse
, затем$fetch['SUM(hours_night)']
— это0
, и в этом случае$totalhours_night = $fetch['SUM(hours_night)'];
вполне подойдет. Кроме того, нет необходимости в циклеwhile
для получения результатов, поскольку у вас есть только один результат. - person deceze♦   schedule 25.05.2012var_dump()
изменяя кучу переменных здесь и там, чтобы увидеть, каково их значение и какиеif..else
на самом деле выполняются. - person deceze♦   schedule 25.05.2012echo $totalhours_night
, когда он равен «0», будет ли он нормально выводиться в вашем браузере? - person Andreas Wong   schedule 25.05.2012echo null;
ничего не печатает. - person laurent   schedule 25.05.2012