如何“标签”;图像


How to "tag" images

我有3个表:图像表:这有我的图片与他们的id (PK),名称,blob,描述等

第二个表:标签表:这有标签id (PK),标签名称

第三个表:目的是连接两个表:id (PK), image id (FK)与image表相关,tag id (FK)与tags表相关。

我想有一个图像有许多标签,用户可以从下拉选择框中选择。我怎样才能让用户给图像加标签,这样图像就可以有多个标签

我使用PHP和MYSQL。例如,当发布关于堆栈溢出的问题时出现的标签,然而,我的标签将用于图像。

一段伪代码帮助您入门。HTML中的值是标签和图像的PK。

<select name="tags[]" multiple>
    <option value="1">Cool</option>
    <option value="2">Gross</option>
</select>
<input type="hidden" value="1" name="image_id" />
foreach($_POST['tags'] as $tag)
{
    $sql = 'INSERT INTO table3 (image_id, tag_id) VALUES(' . $_POST['image_id'] . ', ' . $tag . ')';
    $pdo->execute($sql);
}

在数据库设计中创建两个名为:tags和image_tags的表。Tags表将包含所有可用的标签,image_tags表将包含图像id和标签id。这是它。

就前视图而言,您可以使用james smith的输入标记器插件:http://loopj.com/jquery-tokeninput/