【问题标题】:Search with Textbox and Drop Down menus - php mysql html phpmyadmin使用文本框和下拉菜单搜索 - php mysql html phpmyadmin
【发布时间】:2013-04-03 16:24:03
【问题描述】:

我怎样才能使查询不仅按这样的一个字段进行过滤

select * from table1 where LOWER(A) like LOWER('%$A%')

但也要从下拉菜单值中过滤?

【问题讨论】:

    标签: php html mysql phpmyadmin


    【解决方案1】:

    只需在 where 子句中添加另一个过滤条件。

    SELECT * FROM table1
    WHERE a LIKE '%$A%'
    AND some_other_field = 'some dropdown value'
    

    顺便说一句,如果您在字段“A”上使用不区分大小写的排序规则,则无需将值转换为小写,因为比较将不区分大小写(这就是我删除调用的原因LOWER() 在我的示例中。您的默认 MySQL 设置很可能不区分大小写,因此请检查一下。通过不转换为小写,您仍然使用字段“A”上的索引来加快搜索速度。

    【讨论】:

    • 它区分大小写这就是为什么我把它放在那里 LOWER()。如果值是动态的,我如何在其中放置“一些下拉值”,有没有办法通过 id 将所有
    • @eLbor 您没有阅读我关于无需转换为小写即可进行不区分大小写的搜索的评论吗?通过将两者都转换为更低,您正在执行不区分大小写的搜索,但也失去了在字段上使用索引的能力。只需在该字段上使用不区分大小写的排序规则(无论如何它可能已经是)。我只是使用了“一些下拉值”的占位符示例。在构建查询时,您只需要将这个值替换为从下拉列表中发布到页面的值。
    猜你喜欢
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 2021-12-09
    相关资源
    最近更新 更多