使用标签搜索图像

时间:2012-08-21 12:34:51

标签: php mysql

我有一个约700张图片的数据库,但我想创建一个搜索栏,以便我可以通过标签找到它们。

我将如何开始这样做。

我相信你会在mysql数据库中添加标签......我该怎么办?我怎么做多个标签?

2 个答案:

答案 0 :(得分:3)

有一个额外的表tags,其列将是:idname,其中包含所有可能的标记,另一个表image_tags,其中包含{ {1}}和image_id

tag_id

这样,同一图像可以有多个标签,同一个标签可以出现在多个表格上。

这称为多对多关系

答案 1 :(得分:0)

这是经典的“多对多”关系。

要创建基于标签的系统,您应该在DB中创建2个新故事(假设“tags”和“tags_images”表)。

在“tags”表格中,你有两个字段:“id”和“tag”。

在“tags_images”表中,你有3个字段:“id”,“tag_id”和“image_id”。

因此,要向iamge添加标签,只需将新记录添加到“tags_images”表连接标记(通过'tag_id')和图像(bt“image_id”)。

此外,您还必须在“标签”表中添加新标签,而不是这样。

要获取标签为“dog”的所有图像,您应该进行简单的sql JOIN查询,如:

SELECT `tags`.*, `images`.*
FROM `tags` t
INNER JOIN `tags_images` ti ON t.`id` = ti.`tag_id`
INNER JOIN `images` i ON i.`id` = ti.`image_id`