我有一个带有图像和标签的表格(称为tbl_images
)
image_file image_tags
---------- ----------------------------
test.png tag1 another_tag tag2
hi.jpg tag9 tag1 another_tag qwerty
我将如何做到这一点:
- 搜索“另一个”不返回任何内容
- 搜索“tag1”返回 test.png 行
- 搜索“tag1 another_tag”返回 test.png 行
- 搜索“qwerty tag2”不返回任何内容
?
如,如果它们都出现在同一行的同一 image_tags 字段中,则可以使用完整的标签名称进行搜索并同时搜索多个标签。笔记:-
- 我只在一个领域内搜索
- 它是通过 PHP 搜索输入完成的(在 中检索
$_GET['search_terms']
) - 我不能这样做
LIKE '%tag9%
,因为 tag9 可能出现在更大的标签中,例如Atag98
,并且正如我所说,我只想要完全匹配的标签。 - 我不能这样做
LIKE ' tag9 '
(注意前后的空格,)因为tag9可能出现在image_tags字段的开头(没有空格,所以不会匹配) - 我不能这样做,
LIKE 'tag9 another_tag'
因为我不知道 another_tag 是否在 tag9 之后,同样LIKE 'tag9%another_tag'
出于同样的原因我不能这样做;tag9 也可以是更大标签的一部分(如前所述。)
另外,全文搜索是否适合这个?如果是这样,你能提供一个例子吗?
一个棘手的问题(无论如何对我来说;)任何帮助将不胜感激。