我有一张表格,其中包含有关零售店的信息。我有一个零售链名称的列表(WalMart,Target,Eaton等)。当用户选择一个时,我基本上会运行一个查询来查找与该链有关的任何内容。
SELECT * FROM stores WHERE store_name LIKE '%$chain%' ORDER BY store_name ASC
例如,如果用户选择“ WalMart”,则查询将返回名称中带有单词“ WalMart”的任何内容(WalMart Scarborough,WalMart Supercenter Toronto,WalMart Distribution Center等)。
但是,现在我想让用户能够通过搜索文本框搜索此列表。我通常进行搜索的方式是这样的:
SELECT * FROM stores WHERE store_name LIKE '%$user_input%' ORDER BY store_name ASC
但是在这种情况下,查询将返回包含的所有商店user_input,而不仅仅是WalMarts。如果我输入Toronto,我想看看多伦多沃尔玛超级中心,但当然会得到Target Toronto等。
user_input
如何做到这一点,以便在寻找包含user_input沃尔玛子集中也包含在内的任何东西。如果可能,我想在一个查询中执行此操作。我可以使用两个这样的LIKE语句吗?
LIKE
抱歉,尚未尝试任何操作,因为我不确定从哪里开始。
是的,您可以执行以下操作:
SELECT * FROM stores WHERE store_name LIKE '%$user_input%' AND store_name LIKE '%Walmart%' ORDER BY store_name ASC