2013-03-05 209 views
0

我正在计划为当地博物馆的照片库设计PHP MySQL数据库。插入并搜索多个关键字

现在让我感到害怕的一件事是如何实现为单个图像使用多种技术或材料来设计它们的项目保存多个关键字,例如,油漆工艺:(衬板,擦拭,滚动),材料使用:(油,帆布)。

理想情况下,我将不得不使用选择选项列表来保存每条记录。但是如果我想保存同一个列表中的两个或更多的单词,我不能。

你有什么建议可以考虑吗?

约瑟夫

+0

MySQL支持[全文搜索](http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html)。 – Passerby 2013-03-05 08:12:32

回答

2

您需要实现图像桌子和关键字表之间存在一个一对多的关系。 一个图片可以有很多关键字。关键字表中的每一行都需要通过外键引用图像表中的一行。例如:

images 

id | asset 
--------------- 
1 | image1.png 
2 | image2.png 

keywords 

id | image_id | keyword | category 
----------------------------------------------- 
1 | 1  | liner  | painting techniques 
2 | 1  | wiping | painting techniques 
3 | 1  | scumbling | painting techniques 
3 | 2  | oil  | material used 

或沿着这些线。这就是你如何让一行(一个图像)与另一个表中的许多行(关键字)相关联。

对于每个提交的关键字,您都会在关键字表中添加另一行,以确保引用关联的图像。

+0

我想这是最好的选择+1那 – 2013-03-05 08:20:05

+0

我能够从相同的选择框中添加它们吗? – user1868306 2013-03-05 08:47:58

+0

您的关键字是预定义的,还是用户可以创建新的关键字?如果它们是预定义的,则可以使用