我正在尝试为数据库创建Web过滤功能。您可以在表单上输入搜索条件,该表单将数据发送到创建SQL查询的Php脚本,并将结果返回所有行。
现在的问题是如何创建一个可能为空参数的SQL语句(未填写表单过滤器选项)最终会有很多过滤器选项,因此检查哪些填充以创建具有IF语句的特定查询将是几乎不可能。
目前有3个文本框和3个<select>
选项。用户不必填写所有内容,当按下提交时,它会将所有数据作为POST发送,包括空过滤器选项,以创建SQL查询的PhP脚本。
现在查询(并非所有过滤器选项都包含在查询中)可能看起来像这样
SELECT * FROM items WHERE name LIKE "%%" AND type="Consumable" AND subtype=""
但是这不会返回任何内容,因为没有subtype =“”行,它们都有一个值。如何在参数为空时返回该列的所有内容。或者,如果POST
为空,我如何从查询中排除条件,如果参数为空,则如果查询中不包括AND subtype=""
。