我有一个漫画网站目前可以让用户选择他们按类别查看哪些漫画:图表,办公,生活,杂项等PHP MySQL的标记
我想实现一个标签系统,类似到我们在这里的StackOverflow,它将描述每个漫画的更多内容而不是它的类别。例如:在图表类,我有几个业务相关的...
我简单的解决办法是处理它只是我是如何处理我categorization-
- 与标签识别创建一个“标签”表, tagname,tagdescription
- 在漫画表中添加tagid_ForeignKey字段,并为每个帖子添加一个标签。
- 当用户点击一个标签时,它将只显示那些带有该标签的帖子......或者如果还有指定的类别,它将显示该特定标签的特定类别。
这种方法,但是,在我看来,限制每个类别一个标签。如果我有一个漫画是商业和关系相关的......所以它需要这两个标签。
我将如何能够附加每个漫画多个标签?
编辑:
几个问题:
1)什么我插入我的新关系表...什么?
2)此外,对于while ($row = $tag->fetch_assoc()) {
,如果有连接,我如何循环访问表?这不是一个关联数组吗?
3)问题是我回应标签的选择,所以一旦用户点击一个链接,你将如何允许他们然后点击另一个链接分配第二个标签?
function getTags() {
include 'dbconnect.php';
global $site;
$tag = $mysqli->query("SELECT tagid, tagname FROM tags");
//$tag = $mysqli->query("SELECT * FROM comics c INNER JOIN comictags ct ON (c.comicID = ct.comicID) WHERE ct.tag_id IN (1, 2, 3) GROUP BY c.comic_id");
mysqli_close($mysqli);
while ($row = $tag->fetch_assoc()) {
echo "<a href='?action=homepage&site=" . $site . "&tag=" . $row['tagid'] . "&tagname=" . $row['tagname'] . "'/>" . $row['tagname'] . "</a><br />";
}
}
你能详细说一下“间接表”吗?这只是一张普通桌子吗?我如何设置? – Growler 2013-02-13 14:45:46
@Growler耶只是一张普通的桌子。对于“间接”这个词没有什么特别的含义,它只是意味着标签和漫画不能将*直接映射到彼此,而是直接映射到这张表中。就像'CREATE TABLE ComicTags(ctID int unsigned not null auto_increment primary key,comID int unsigned not null,tagID int unsigned not null)' – 2013-02-13 14:49:53
好吧,谢谢你...你有我的查询将如何看待的例子?并且,你能看到我上面的编辑吗?我有另一个问题 – Growler 2013-02-16 23:45:31