тип столбца и оператор if

#php #mysql #int #double

#php #mysql #int #двойной

Вопрос:

ребята!
я хочу сделать это утверждение: стоимость 1-3 -> максимум в инвентаре = 10
стоимость 4-6 -> максимум в инвентаре = 5
стоимость 7-9 -> максимум в инвентаре = 3
стоимость более 10 -> максимум в инвентаре = 1

когда я получаю стоимость продукта из базы данных, например 6,00, это работает, но, если я получаю стоимость продукта из базы данных, например 6,50, это не работает, я пробовал эти типы для столбца: DOUBLE, FLOAT, INT, все они не работали со мной:'(
это мой код

      if($fetch->product_cost >=1 AND $fetch->product_cost <= 3){
        print "
        <td width='10px'>10</td>
        ";
        }elseif($fetch->product_cost >=4 AND $fetch->product_cost <= 6){
        print "
        <td width='10px'>5</td>
        ";
        }elseif($fetch->product_cost >=7 AND $fetch->product_cost <= 9){
        print "
        <td width='10px'>3</td>
        ";
        }elseif($fetch->product_cost <=10){
        print "
        <td width='10px'>1</td>
        ";
        }
 

Комментарии:

1. Как насчет промежуточных затрат, таких как 3-4, 6-7, 9-10? Просто потому, что у вас их нет, 6.5 не сработал.

Ответ №1:

Поскольку вы используете PHP и не ожидаете собственного решения MySQL, самый простой способ — запустить 3 отдельных запроса MySQL, используя возможность BETWEEN . Например

Выберите * из вашей таблицы, где product_cost между 4 и 6