php&基于mysql标签的搜索

时间:2017-09-06 07:26:12

标签: php select mysqli sql-like

我在项目中查询基于标签的搜索结果时遇到了一些问题。我在这里寻找答案,而且当用户搜索" BAR" " BARS"的结果可以通过使用LIKE和_(下划线)通配符来包含但是如果用户搜索" BARS"该怎么办?我已经对它进行了分类,但不知道它是否是一种良好的做法。

TAGS TABLE: -

#id | tag#
------ --------
1 | bar
1 | pub
1 | disc
2 | bars
2 | pub
2 | disc

此查询为我提供了标签栏和栏+ 1个字符的产品的所有ID

$sql = "SELECT id FROM tags WHERE tag='bar' OR tag LIKE 'bar_'";

所以我为我的解决方案所做的是: -

$q = substr( 'bars', 0 , -1 );
$sql = "SELECT id FROM tags WHERE tag='bar' OR tag LIKE 'bar_' OR tag LIKE '$q'";

这是好的做法吗?或者有一些替​​代方案。

0 个答案:

没有答案