我有3张桌子:图片表:这张照片上有他们的ID(PK),名字,blob,描述等等。
第二个表:标签表:它有标签ID(PK),标签名称
第三表:这是为了连接两个表:id(PK),与图像表相关的图像id(FK),与标签表相关的标签id(FK)。
我想让图像有许多标签,用户可以从下拉选择框中选择。如何使用户能够标记图像,以便图像可以有多个标记
我正在使用PHP和MYSQL。例如,在堆栈上发布问题时出现的标签溢出,但我的将用于图像。
答案 0 :(得分:1)
让你开始的一些伪代码。 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);
}
答案 1 :(得分:0)
在数据库设计中创建两个名为:tags和image_tags的表。标签表将包含所有可用标签,而image_tags表将包含图像的标识和标签的标识。而已。
就前视图而言,您可以使用james smith的输入标记器插件:http://loopj.com/jquery-tokeninput/