2012-05-25 3 views
0

Я запускаю запрос, чтобы получить общую сумму в несколько часов из таблицы базы данных, чтобы показать в файле PDF, но по какой-то странной причине он не будет эхо-0 (ноль).Эхо/выход 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 ноль, так как это выглядит более хорошо.

BTW, если я например положил number_format ($ totalhours_night, 2); это действительно показывает 0.00, но мне нужно, чтобы это было только 0.

+0

Что такое number_format и второй параметр 0 – rekire

+0

Как вы можете вывести 0? С 'echo $ totalhours_night;'? Если это так, PHP действительно ничего не выведет в этом случае (который я всегда находил очень раздражающим). Просто сделайте 'echo $ totalhours_night. ''; 'вместо этого. –

+0

@Laurent [Wat?] (Https://www.destroyallsoftware.com/talks/wat) 'echo 0;' → '0'. – deceze

ответ

1

Treat целое число в виде строки, как this-

echo (string)$totalhours_night; 
+1

вы удалили свой ответ, а затем повторите то же самое, чтобы избежать нисходящего потока? –

+0

Что? Не было ссылки для его редактирования. Im на мобильном сафари. Что ты хочешь, чтобы я сделал? Вы имеете в виду, что он все еще там, хотя он удален? – tim

+0

Это (не) полезно. ;) У вас есть репутация достаточно, чтобы удалить сообщения? В мобильном сафари действительно не было ссылки на редактирование. Удалена ли ссылка редактирования после нисходящего канала или что? – tim

1

три вещи:

  1. Ваш SQL-запрос неправильно, вы можете» т дисплей id и SUM(..) если вы не используете GROUP BY id (Какой козел теряет идею, если id уникален)
  2. Если вы используете SUM(..) дать ему псевдоним, как SUM(..) AS alias1, а затем в PHP - alias1.
  3. Если это не повод, попробуйте var_dump($fetch['alias1']); и посмотрите, что вы действительно вернетесь. (И опубликуйте свои результаты здесь, чтобы мы могли дать вам дополнительную помощь)
+0

1. Поэтому, если я теряю id, запрос хорош, так как я использую WHERE invoiceID = 'blabla'. Спасибо за ваше понимание;) – Adriaan

+0

Хорошо существует фундаментальное различие между 'WHERE' и' GROUP BY'. 'WHERE' является фильтром, а строки, которые не совпадают, не отображаются. В то время как 'GROUP BY' просто« сворачивает »их вместе. Попробуйте найти их, чтобы получить разницу. –

Смежные вопросы