我正在创建一个搜索引擎,根据在搜索页面上选择的内容创建查询。由于查询是有限的,我不能只在其中包含任何内容,这是我必须用IF子句和查询while循环完成剩下的工作。因此,表中没有年龄字段,但是生日字段,所以我使用IF函数检查年龄是否正确,然后在while循环中打印出用户名。
这项工作正常,但我还需要在搜索中再添加两个字段,如下所示:县和城市,现在正在处理页面的县选择。我自己无法弄清楚的是我应该如何设法打印出适合所有必填字段但没有1000 IF ELSE的用户的逻辑。
我想到选择并过滤掉所选择的县/地区的所有正确的邮政编码,然后把它放在一个数组中,然后对它进行循环验证输出查询,但是效果不好
在我的数据库中,我有3个表,如下所示:
county_table
id, name_of_county
municipial_table
id, county_id, municipial_name
zip_code_table
zip, zip_place_name, municipial_id
这些是为我的国家预先制作的。因此,考虑到用户的邮政编码,我将不得不做两个不同的SELECT查询将它连接到county_table(zip-> municipial-> county)。
基本上,我想说的是什么;我希望搜索引擎输出具有正确数据的用户,这取决于是否选择了年龄,地区和城市字段。他们需要独立,而不是像:
if($age>X){
if($county==Y){
if($city==Z){
-OUTPUT RESULTS HERE-
} } }
现在,问题是:如果搜索中没有请求其中一个字段怎么办?说,年龄?县号?城市?我认为我需要的是非嵌套和独立的IF块,但我不确定如何正确设置它。
非常感谢,非常感谢。