我有一个简单的方案,但没有让它发挥作用。我需要根据两个值为Mysql数据库中指定的列“费用”提取一个值。

如果我在列之间指定了“从”到“到”的金额,我想要得到“费用”的值:如果“金额”为95,行“费用”的值应该是0.99。
以前我尝试使用传统方法,如下面所示,但现在我想使用MYSQL查询方法。请帮帮忙。
if ($amount < 100) {
$fee = '0.99';
}
else if ($amount > 100 && $amount < 500) {
$fee = '1.99';
}
else if ($amount < 500 && $amount < 1000) {
$fee = '2.99';
}
else if ($amount < 1000 && $amount < 10000) {
$fee = '4.99';
}
else if ($amount > 10000) {
$fee = '9.99';
}一个示例PHP代码:
<?
include "dbconnect.php";
$post_amount = $_POST["amount"];
$sql = "SELECT fee FROM fees WHERE from < '$post_amount' AND to > '$post_amount' LIMIT 1";
$result = mysql_query($sql);
while($row = mysql_fetch_array( $result )) {
$fee = $row["fee"];
}
echo "Posted Amount is $post_amount and Fee is $fee";
?>发布于 2013-12-29 15:55:57
如果我收到您的问题,您需要SQL查询。
您可以使用>和<符号:
"SELECT fee FROM tablename WHERE from < '$amount' AND to > '$amount' LIMIT 1"或者您可以在(如何在mysql中的列之间进行搜索)之间使用:
"SELECT fee FROM tablename where '$amount' BETWEEN from AND to LIMIT 1"还有两件事:
发布于 2013-12-29 15:58:14
MySQL有一个很棒的操作员,名叫BETWEEN
"SELECT `fee` FROM `table` WHERE ".floatval($amount)." BETWEEN `from` AND `to`"发布于 2013-12-29 15:58:48
您刚刚在> and <中遇到了问题,在您的代码中,所有其他事情都很好,不需要其他函数从数据库表中检查它。
我用这个查过了:
$amount = 250;
if ($amount < 100) {
$fee = '0.99';
} else if ($amount > 100 && $amount < 500) {
$fee = '1.99';
} else if ($amount > 500 && $amount < 1000) {
$fee = '2.99';
} else if ($amount > 1000 && $amount < 10000) {
$fee = '4.99';
} else if ($amount > 10000) {
$fee = '9.99';
}
echo $fee;它很好用。
https://stackoverflow.com/questions/20826960
复制相似问题