У меня есть этот код, с которым мне нужно, чтобы согласно стоимости, полученной от базы данных меня загрузило изображение специфического цвета.
Пример:> =11 img зелень,> =4& <11 img апельсиновое дерево, <4 img красный.
В концах у меня нет проблемы, где он не последовал мне, - вычисление между 11 и 4 для цвета апельсиновое дерево.
Это код:
<?php
if ((intval(($row_f1['prom']) >= '11'))) {
echo "<img src='img/btn1.png'>";
/*verde*/
} elseif (intval(($$row_f1['prom'] >= '4')) && intval(($$row_f1['prom'])) <= '10.9') {
echo "<img src='img/btn2.png'>";
/*naranjo*/
} else {
echo "<img src='img/btn3.png'>";
/*rojo*/
}
?>
Проблема может быть способом, в котором ты помещаешь $$row_f1['prom']
, если ты замечаешь, ты помещаешь знак цены больше.
Я советую тебе, чтобы, чтобы предотвращать эти проблемы, ты распределил в переменную перед тем, как открывать условную. Пример:
$rowf1 = $row_f1['prom'];
if ($rowf1 >= 5){
echo 'Es mayor o igual a 5';
} else {
echo 'No es mayor o igual a 5';
}
Так ты избегаешь быть должным быть когда пишут что-то длинное и тоскливое как $row_f1['prom']
в каждый промежуток времени, и он дает ему больше ясность и читабельность твоему коду :)
Мои два сентаво aquГ - это, чтобы оптимизировать немного cГіdigo выставленный, ошибка deberГ, - чтобы быть объясненным Hoose (я basarГ© незначительно в его ответе) и А. Фелипе Трухильо:
<?php
// almacenamos el valor a evaluar en otra variable
$valor = intval($row_f1['prom']);
// usamos el último valor posible como valor por defecto
// para obviar un condicional
$salida = 3;
if ($valor >= 11) {
$salida = 1;
} elseif ($valor >= 4 && $valor < 11) {
$salida = 2;
}
// agregamos el valor resultado a la parte de texto resultante que no cambia
echo "<img src='img/btn$salida.png'>";
Благодаря тому, что funciГіn intval
берет целую часть одного nГєmero, я не вижу чувство, по отношению к которому в тебе cГіdigo ты имел бы intval(($row_f1['prom'])) <= '10.9'
Гєnicamente несмотря на то, что разместил intval(($row_f1['prom'])) < 11
, это достаточно