php – 选择DISTINCT有这么多条件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 选择DISTINCT有这么多条件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试为我的网站创建一个过滤器功能.有人告诉我使用SELECT DISTICT来完成这个任务.下面是我目前所拥有的,它检索列STATE中的所有不同值并将它们显示为复选框,以便用户可以检查他想要在页面上的表上显示的状态.

$sql = "SELECT DISTINCT state FROM allproperties";
$result = MysqLi_query($con,$sql);

while ($row = MysqLi_fetch_array($result)) {
    echo "<input type='checkBox' name='state' value='" . $row[0] . "'>" . $row[0] . "<br>";
}

我的问题是这个过滤器功能将有很多条件,而不仅仅是选择要显示的状态,可以选择哪个县,成员年龄,成员贡献蚀刻.当用户单击DISPLAY按钮显示筛选结果时,我不知道如何为此构建SQL查询.如果只有几个条件我可以简单地使用“SELECT * WHERE(…)AND(….)”但是如果我将它用于过滤器功能,那么会有很多条件,例如:

WHERE(州=’CA’或州=’NV’或州=’WA’…..等等堡垒)

有没有办法像WHERE state = OR(‘CA’,’NV’,’WA’)这样做,所以我没有那么多的状态=?

此外,有没有人有任何筛选功能的示例查询?过滤器功能就像您在音乐网站中搜索基于流派或其他内容的歌曲一样.我提前为这个令人困惑的问题道歉,我找不到正确的问题要求这个.

解决方法:

是的,你可以使用IN()

WHERE state IN('CA','NV','WA'...)

它不仅具有相同的效果,而且比几个OR更高效,总是尽量避免不必要的OR.

正如@Kulvar所提到的,您可以使用implode()使其与PHP一起使用,例如:

'WHERE state IN(' . implode(',', $states) . ')'

脚本宝典总结

以上是脚本宝典为你收集整理的php – 选择DISTINCT有这么多条件全部内容,希望文章能够帮你解决php – 选择DISTINCT有这么多条件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: