好的,我已经有一个脚本允许用户输入标记,但是我想让用户输入多个标记,这些标记用逗号分隔,例如(html, css, php)并将每个标记存储在数据库中。
有没有教程可以教我怎么做,或者有人可以给我几个例子,我可以从中工作。
谢谢

最佳答案

假设架构如下:
文章(id,作者id,文章日期,文章文本);
标签(id,标签名称);
Post标签(id,Post_id,Tag_id)。
Post标记表是Post到Tag的多对多关系的联接表(因为Post可以有多个标记,一个标记可以用于多个Post)。
用户在输入字段中输入由逗号分隔的标记列表:

$tags = array_unique(array_map(explode(',', $POST['tags']), 'trim'));

你有一个用户输入的标签数组。您可能需要进一步清理它们,比如只允许某些字符和/或将它们转换为小写。
然后你的代码变成:
$post_id = ...
foreach ($tats as $tag) {
  $tag = mysql_real_escape_string($tag);
  $sql = <<<END
INSERT INTO PostTag (post_id, tag_id)
VALUES ($post_id, (SELECT id FROM Tag WHERE tag_name = '$tag'))
END;
  mysql_query($sql);
}

关于php - 如何让用户使用PHP和MySQL添加多个标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1854417/

10-11 15:23