gpt4 book ai didi

php - mysql PHP查询问题

转载 作者:行者123 更新时间:2023-11-29 04:31:34 25 4
gpt4 key购买 nike

好的,我这里有个问题......

我正在通过 ajax 将下拉列表的值发送到此 PHP 文件。

现在我想使用这些值搜索 mysql 数据库,我已经设法做到了,但是,只有当我将这些值设置为某物时...

看看:

     $query = "SELECT * FROM cars_db WHERE price BETWEEN '$cars_price_from' AND '$cars_price_to' AND year BETWEEN '$cars_year_from' AND '$cars_year_to' AND mileage BETWEEN '$cars_mileage_from' AND '$cars_mileage_to' AND gearbox = '$cars_gearbox' AND fuel = '$cars_fuel'";

现在,如果用户没有选择任何“price_from”或“year_from”...这些字段只是可选的,所以如果用户没有输入任何“price_from”或“year_from”,那么用户想要 ALL汽车展示...

是不是每个case都要写一个query语句还是有别的办法?

最佳答案

我做的事情与 davethegr8 类似,只是我将我的条件放在一个数组中,然后在最后内爆,这样我就不必担心添加了哪些条件以及是否需要添加额外的 AND。

例如:

$sql = "SELECT * FROM car_db";

// an array to hold the conditions
$conditions = array();

// for price
if ($car_price_from > 0 && $car_price_to > $car_price_from) {
$conditions[] = "(price BETWEEN '$cars_price_from' AND '$cars_price_to')";
}
elseif ($car_price_from > 0) {
$conditions[] = "(price >= '$cars_price_from')";
}
elseif ($car_price_to > 0) {
$conditions[] = "(price <= '$cars_price_from')";
}
else {
//nothing
}

// similar for the other variables, building up the $conditions array.

// now append to the existing $sql
if (count($conditions) > 0){
$sql .= 'WHERE ' . implode(' AND ', $conditions);
}

关于php - mysql PHP查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1561144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com