gpt4 book ai didi

php - MySQL 中的动态搜索查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:07 27 4
gpt4 key购买 nike

这里是项目安装:
1. Nodejs服务器端环境
2. MySQL数据库(带Knexjs查询生成器)
3. 数据库中的 'locations' 表,包含 'country'、'city'、'category'、'working_hours' 等字段。
4. 用户可以选择所有这些值并提交搜索的表单输入。当用户什么都不选择时,它默认为“全部”。我需要过滤数据库并选择与用户搜索输入对应的行。

我试着做这样的事情:

knex('locations').where({
country: countryInput,
city: cityInput,
category: categoryInput,
working_hours: hoursInput
})
.then(function(rows) {.....})
.catch(function(err) {.....});

如果用户选择了所有输入字段,这会很好用,如果用户只选择其中的几个而其他设置为“全部”怎么办?如何实现?

提前致谢!

最佳答案

这是很常见的解决方案:

let query = knex('locations');

if (countryInput) {
query = query.where('country', countryInput);
}

if (cityInput) {
query = query.where('city', cityInput);
}

if (categoryInput) {
query = query.where('category', categoryInput);
}

if (hoursInput) {
query = query.where('working_hours', hoursInput);
}

query
.then(function(rows) {.....})
.catch(function(err) {.....});

关于php - MySQL 中的动态搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45005753/

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