我有一个类似这样的 MySQL 表:
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| Weight | int | YES | | NULL | |
| 100 | double | YES | | NULL | |
| 120 | double | YES | | NULL | |
| 130 | double | YES | | NULL | |
| 150 | double | YES | | NULL | |
| 160 | double | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
我使用
$row = mysqli_query($con, "SELECT * FROM Rates WHERE Weight<='$weight' AND Weight>='$weight'");
我的问题是使用返回的查询结果如何打印最接近用户输入的字段(100、120、130、150、160)之一的值。
例如,如果用户在 110 中键入,则将打印字段“120”中的值。或者,如果输入了 131,则将打印 '150' 的值(因此总是向上取整)。
就目前而言,我有:
while($row = mysqli_fetch_array($rate))
{
echo "Using weight your cost is: " . $row['100'];
echo "<br>";
}
但这仅打印字段“100”的值我将如何替换它以获取用户输入并计算出哪些行最接近并打印
所以像:
IF ($value =< 100) echo $row['100']
IF ($value =< 120 && $value > 100) echo $row['120']
IF ($value =< 130 && $value > 120) echo $row['130']
..etc