【发布时间】:2021-01-06 13:49:53
【问题描述】:
问题是我无法到达第三个“else if 语句”,其中的场景是这样的:
我在 HTML 中有 3 个文本框 -> 最小值、最大值和搜索关键字。如果 2 个文本框有值,如果我将值放在 2 个文本框中,我想达到第 3 个,但发生的情况是它只返回到第一个 if 语句。
<?php
$price_min = $_POST['price_min'];
$price_max = $_POST['price_max'];
$keyword = $_POST['keyword'];
$sql = 'SELECT * FROM products ';
if (!empty($price_min)) {
$sql .='WHERE price >='.$price_min;
} else if (!empty($price_max)) {
$sql .='WHERE price <='.$price_max;
} else if (!empty($price_min) && !empty($price_max)) {
$sql .='WHERE price BETWEEN '.$price_min.' AND '.$price_max;
} else if (!empty($keyword) && !empty($price_min)) {
$sql .='WHERE (tags LIKE "%'.$keyword.'%") AND (price >='.$price_min.')';
} else if (!empty($keyword) && !empty($price_max)) {
$sql .='WHERE (tags LIKE "%'.$keyword.'%") AND (price <='.$price_max.')';
} else if (!empty($keyword) && (!empty($price_min) AND !empty($price_max)) {
$sql .='WHERE (tags LIKE "%'.$keyword.'%") AND (price BETWEEN '.$price_min.' AND '.$price_max.')';
} else {
echo "all are empty// ";
}
?>
【问题讨论】:
标签: php html mysql if-statement select