2013-08-19 2 views
0

У меня есть простой скрипт математики php, который работает очень хорошо, он выдает сумму, которая будет отображаться в таблице, которая отображается отлично.

я хотел выход, чтобы быть разным цветом в зависимости от окончательного ответа

У меня есть упростить код, чтобы попытаться сделать эту работу, а затем построить на нем после.

<?php 

$lhours = 10; 
$repaircosts = 20; 
$labourpay = 20; 
$sum_total = (($lhours * $labourpay) + $repaircosts) ; 

function getProperColor($sum_total) 

if ($sum_total > 0 && $sum_total <= 0) 
return '#00FF00'; 
else if ($sum_total >= 0 && $sum_total <= 50) 
return = '#ffd800'; 
else if ($sum_total >= 50 && $sum_total <= 120) 
return = '#5e7810'; 
else if ($sum_total >= 121) 
return = '#afe214'; 

print £($sum_total); 

?> 

я посмотрел на функции в руководстве PHP и нашел фрагменты кода на других сайтах

также я использую Adobe Dreamweaver, и это дает мне синтаксические ошибки на линии

if ($sum_total > 0 && $sum_total <= 0) 

также является Dreamweaver лучшим программным обеспечением для использования в php для учебных целей, поскольку я новичок в этом?

Заранее спасибо


ДОПОЛНИТЕЛЬНАЯ Update


Теперь мой код выглядит следующим образом, но Dont матер на ответ его всегда красный

<?php 
$lhours = 10; 
$repaircosts = 20; 
$labourpay = 20; 
$sum_total = (($lhours * $labourpay) + $repaircosts) ; 

function getProperColor($sum_total) 
{ 
    if ($sum_total <= 0) 
    return '#00FF00'; 
    else if ($sum_total >= 0 && $sum_total <= 50) 
    return '#ffd800'; 
    else if ($sum_total >= 50 && $sum_total <= 120) 
    return '#5e7810'; 
    else if ($sum_total >= 121) 
    return '#afe214'; 
} 
echo '<font color=getProperColor($sum_total);>'.$sum_total.'</font>'; 
?> 
+3

Как число может быть (больше 0) и (равной или ниже 0), в то же время? – Itay

+0

$ sum не может быть больше 0 * AND * меньше или равно 0. Это ваша ошибка здесь: if ($ sum_total> 0 && $ sum_total <= 0) –

+0

как я могу сделать это отрицательным? –

ответ

1

Используйте это:

<?php 
    $lhours = 10; 
    $repaircosts = 20; 
    $labourpay = 1; 
    $sum_total = (($lhours * $labourpay) + $repaircosts) ; 

    echo getProperColor($sum_total); 

    function getProperColor($sum_total) 
    { 
     $finalColor = "#000";//Define a default color 
     $outputHtml="<span style='color:";//start the output HTML 
     if ($sum_total <= 0)://Note the syntax here 
      $finalColor = '#00FF00'; 
     elseif ($sum_total >= 0 && $sum_total <= 50): 
      $finalColor = '#ffd800'; 
     elseif ($sum_total >= 50 && $sum_total <= 120): 
       $finalColor = '#5e7810'; 
     elseif ($sum_total >= 121): 
       $finalColor = '#afe214'; 
     endif;//end the ifs 
     $outputHtml.=$finalColor."'>".$sum_total."</span>";//Append the color and sum to our html 
     return $outputHtml; 
    } 
    ?> 
3

Вы не хватает кода блок-скобки {}, и я исправил вашу логику.

function getProperColor($sum_total) 
{ 
    if ($sum_total <= 0) 
     return '#00FF00'; 
    else if ($sum_total <= 50) 
     return '#ffd800'; 
    else if ($sum_total <= 120) 
    return '#5e7810'; 

    return '#afe214'; 
} 
+0

спасибо :) Я только что заменил свой код и все еще получаю синтаксические ошибки в каждой возвращаемой строке –

+2

'return '# afe214';', no '=' sign –

+1

@RickNash lol, я копирую/вставляю код, но не заметил вас использовал знак '=' в операторах return. Удалите их, поскольку они не нужны. – cgTag

1
<?php 
$lhours = 10; 
$repaircosts = 20; 
$labourpay = 20; 
$sum_total = (($lhours * $labourpay) + $repaircosts) ; 

function getProperColor($sum_total) 
{ 
    if ($sum_total <= 0) 
    return '#00FF00'; 
    else if ($sum_total >= 0 && $sum_total <= 50) 
    return '#ffd800'; 
    else if ($sum_total >= 50 && $sum_total <= 120) 
    return '#5e7810'; 
    else if ($sum_total >= 121) 
    return '#afe214'; 
} 
echo '<font color=getProperColor($sum_total);>'.$sum_total.'</font>'; 
?> 
+2

Не может быть $ sum_total> 0 AND $ sum_total <= 0. – Tricky12

+0

Спасибо @Chad –

+0

Я обновил свои вопросы, значение всегда красное –

1

Вот рабочий код.

<?php 

$lhours = 10; 
$repaircosts = 20; 
$labourpay = 20; 
$sum_total = (($lhours * $labourpay) + $repaircosts) ; 

function getProperColor($sum_total) 
{ 
if ($sum_total < 0) 
return '#00FF00'; 
else if ($sum_total > 0 && $sum_total < 50) 
return '#ffd800'; 
else if ($sum_total > 50 && $sum_total < 120) 
return '#5e7810'; 
else if ($sum_total > 120) 
return '#afe214'; 
} 
print getProperColor($sum_total); 

?> 
+2

Не может быть '$ sum_total> 0' AND' $ sum_total <= 0 '. – Tricky12

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