我有一个标记系统,其中标记作为内爆数组存储在行内,如下所示: “value1,value2,value3等......” 我正在尝试制作一个标签搜索页面,但我不知道如何将其转换为数组以查看某人搜索到的某个标签是否在数组中(因为我在使用SELECT时无法将其爆炸)。 / p>
任何人都可以帮忙或者不可能吗?
谢谢大家的帮助,它有效。
答案 0 :(得分:3)
答案 1 :(得分:1)
我认为更好的方法是规范化数据并将标记移动到单独的表中,然后将标记连接到您的实体。搜索将快速而简单=)
答案 2 :(得分:0)
从您的数据库中读取$ tags_str。
将字符串转换为数组:
<?php
$tags_str = "value1, value2, value3";
$tags_arr = explode(', ', $tags_str);
?>
然后使用in_array() PHP函数搜索mathes。
答案 3 :(得分:0)
您可以在选择查询中使用“LIKE”
SELECT row FROM table WHERE tag LIKE '%search_value%'
答案 4 :(得分:0)
使用
规范化您的数据库tags {
object_id
tag_id
}
或者,如果你很懒,就去做
UPDATE tags = CONCAT(",", tags, ",") FROM table
然后
SELECT * FROM table WHERE tags LIKE '%,selected_tag,%'