Условный оператор Php: если поле базы данных равно & quot; 0.0 & quot; должен спрятаться на страницу

В моей базе данных я установил часть своего поля в decimal поэтому я могу вводить числа с десятичными точками.

и в моей базе данных, даже я не вводить в поле ввода всегда есть значение 0.0,

в моем случае я не хочу 0.0 для отображения на моей странице, поэтому я пытаюсь это:

 <?php
if(!empty($current_orders["order_item"])){
echo "<p>Credit Amount:  <span class=\"colorRed\">Php ". $current_orders["order_item"]."</span></p>";
} else {
echo null;
}
?>

и это не работает …

1

Решение

не пустой означает, что эти переменные имеют значение. пусто означает, что эти переменные являются нулем И 0.0 это значение. Итак, измените свой код на это:

<?php if($current_orders["order_item"] > 0.0){

echo "<p>Credit Amount:  <span class=\"colorRed\">Php ".  $current_orders["order_item"] . "</span></p>";

} else {

echo null;
}

?>
2

Другие решения

Ты можешь использовать bccomp функция в php для сравнения значений с плавающей точкой.

Возвращает 0, если два операнда равны, 1, если left_operand больше, чем right_operand, -1 в противном случае

<?php
if(bccomp($current_orders["order_item"],0.0,1) == 0){
echo "<p>Credit Amount:  <span class=\"colorRed\">Php ". $current_orders["order_item"]."</span></p>";
} else {
echo null;
}

?>

2

Вы можете избавиться от этого с помощью следующего кода

$amount =   0.0;
if((!empty($amount)) && $amount>0){
echo "<p>Credit Amount:  <span class=\"colorRed\">Php ". $amount."</span></p>";
} else {
echo null;
}

Если вы хотите отобразить значения -ve, просто измените условие $ сумма> 0 на $ сумму! = 0, иначе оно не будет отображать th -ve значения

0
По вопросам рекламы [email protected]