Там, вероятно, есть опечатка:
if($BILLED_TO_DATE_PERCENTAGE = 100)
должно быть
if ($row['BILLED_TO_DATE_PERCENTAGE'] == 100)
Используйте эту форму, чтобы избежать той же ошибки снова:
if (100 == $row['BILLED_TO_DATE_PERCENTAGE'])
Для цветового картирования, я думаю, вы могли бы легче использовать массив. Это позволит легче поддерживать изменения в требованиях к цвету.
$colors = array(
100 => '#ff0000',
60 => '#ff77aa',
0 => '#0000ff',
);
foreach ($colors as $limit => $color) {
if ($row['FIELD'] >= $limit) {
break;
}
}
// Now $color will contain the desired color
// NOTICE: even if the last value is BELOW the last limit, $color
// will still contain the last color value. If this is undesired,
// add something like -99999 => 'last color' as the last line.
// The $color array MUST be kept sorted in descending key order.
Далеко вниз по этому пути вам может быть полезно записать эти цвета в файл .INI, используя функции PHP для прочитайте ini-файлы:
[colors]
; You can use CSS codes if this goes into HTML.
0 = black
20 = green
60 = yellow
80 = red
100 = #c00000
Таким образом, у вас будет что-то вроде
$CONFIG = parse_ini_file('config.ini', true);
krsort($CONFIG['colors']);
, которое (возможно!) может даже «поддерживаться» конечным пользователем (пользователями).