繁体   English   中英

在PHP中使用SQL LIKE作为搜索引擎

[英]Using SQL LIKE for a search engine in PHP

我有一个小的搜索引擎,用于搜索CITY和连接到该城市的一些标签。 您只能搜索城市,城市AND标签和仅标签。

我的问题是要获得涉及标签的正确搜索结果。

市。
这只能像DB的“ Stockholm”,“ New York”等等。

标记。
但是此表中有更多标签,例如CITYTAG->“ Volvo,Saab,BMW和Volkswagen”,每个标签都用逗号分隔。

输入如下:
... / sajt.php?SearchCITY = Stockholm&SearchTAG = volvo

到目前为止,这是我的代码:

   SELECT * FROM city 
    WHERE CITYNAME LIKE '%" . $SearchCITY . "%' OR CITYTAG LIKE '%" . $SearchTAG . "%'

我如何将它们放在一起?
这样就可以正确处理搜索!
因为当我搜索沃尔沃汽车时,我不会大众汽车出现。

尝试这个:

$tags = str_replace('|',',',$citytag);
$search = mysql_query("SELECT * FROM city WHERE CITYNAME='$cityname' AND CITYTAG='$tags'");

希望对您有所帮助。

SELECT cityname, substring('Volvo, Saab, BMW, Volkswagen,',Locate('Volvo','Volvo, Saab, BMW, Volkswagen,'),length('Volvo')) as citytag 
FROM city 
WHERE CITYNAME LIKE '%" . $SearchCITY . "%' OR CITYTAG LIKE '%" . $SearchTAG . "%';

change this sql using OR and AND conditions to fit your search combinations

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM