我正在为属性表搜索路线,用户可以输入城市,州,街道_* 地址,最小金额,最大 *_金额来搜索不同的属性。我的问题是,如果用户只输入一个或两个字段搜索应该只过滤这些字段。如果用户不输入任何参数,它应该显示每个属性。
const sqlQuery = `SELECT * FROM property WHERE state = ? AND city = ? AND street_address = ? AND min_amount >= ? AND max_amount <= ?; `
const values = [req.body.state, req.body.city, req.body.street_address ,req.body.min_amount,req.body.max_amount];
let data = [];
db.query (sqlQuery, values, function (err, results, fields) {
if (err) {
console.log(err)
}
if (results.length >= 1) {
}
1条答案
按热度按时间goqiplq21#
您需要手动构造
sqlQuery
,方法是检查每个参数是否存在,如果存在,则为每个参数单独追加相应的WHERE
子句。