【发布时间】:2023-03-04 07:35:07
【问题描述】:
我有一个 php 页面,它从用户那里获取 startdate、enddate、hotelname、city、price 和 type 的值。 现在我需要检查我的数据库中只有用户输入的值。那可能吗?对于留空的任何条目,不应用相应的条件(例如,如果城市留空,则考虑所有城市)。 就像如果用户只输入酒店名称,那么我需要从 hname = 酒店名称的酒店中选择 *。
如果我继续检查所有可能的条件集,那么可能会有 63 种组合!那么有什么出路吗?请帮忙!谢谢。
【问题讨论】:
-
我是否正确理解您正在构建某种搜索表单,允许用户使用不同的搜索条件在您的数据库中搜索条目?而且您不知道如何进行包含表单中所有非空字段的数据库查询?
-
你试过什么?您当前的代码是什么?你究竟在哪里卡住了?
-
是的。用户可以使用任意数量的搜索条件进行搜索,更清楚的是用户可以使用一个搜索条件或全部 6 个搜索条件进行搜索!如何检查用户输入了多少搜索条件并在我的数据库中搜索它们?
-
我尝试只考虑 3 个搜索条件,但如果(!hotelname)if(!city)if(!type)有 7 种可能的组合..else...else.. .else...所以要检查 6 个搜索条件,它会太长而且不合逻辑.. 那么有没有更好的解决方案呢?