我有一个漫画网站,并已经实现了类似于StackOverflow的标签系统。
我想给用户更多的排序选项,通过引入这样一个风格的标签系统-每个用户可以选择和删除一个或多个标签.每个漫画书都与一个或多个标签相关联。
目标是:
我使用一个关系表来检查所选的标签是否有匹配的imgid。
因此,在数据库中,为了使图像与多个标记相关联(应该能够),我必须再次使用不同的tagid添加相同的imgid。

以下是查询:
$sql =
"SELECT tbl.*, t.*
FROM $table tbl
LEFT JOIN $assocTable a ON (tbl.id = a.imgID)
LEFT JOIN $tagsTable t ON (t.tagid = a.tagID)
WHERE ";
$sql .= !empty($_SESSION[$sessiontagIDs]) ? "a.tagID IN (" . implode(', ', $_SESSION[$sessiontagIDs]). ") " : "1 = 1";
$sql .= $catquery ." " . $order;不幸的是,这意味着一个漫画现在正在从查询中显示两次:

表或查询设置错误吗?
谢谢!
发布于 2013-03-04 00:20:15
问题是你正在为它匹配的每一个标签获取漫画。也许您希望查询得到:
select distinct tbl.*
. . .或者,如果您同时需要这些标记,请使用group_concat()将它们放在列表中:
select tbl.*, group_concat(t.tagname)
. . .
group by tbl.idhttps://stackoverflow.com/questions/15192608
复制相似问题