我正在创建一个博客,并且正在制作一个标签系统,在这个标签系统中,发布者可以在其帖子中添加标签。标签由空格分隔,并将显示在首页上供访问者通过标签浏览帖子。我正在使用爆炸来分隔每个帖子标记字段中的标记,但我遇到了问题。如果结果匹配,将MySQL结果限制为一个
现在,我可以单独列出所有标签。我将它们列在ul
列表中,但是会发生什么情况是每个帖子的标签都显示在单独的ul
中,而不是在所有帖子中的所有标签的ul
中显示。所以我试图做的是只显示一个标签,如果存在更多的标签,所以如果多个帖子使用PHP作为标签,首页上的列表将只显示PHP一次。这怎么可能?
感谢您的答复,但没有工作:(但也许这将是更spesific:每个帖子,我有一个名为colunm post_tags,其中标签插入这样的:“MySQL的PHP的CSS html',当我把它们拉出来展示它们时,我使用explode和foreach,这是否有意义?如果你有更好的方法来创建标签系统,就像一个stackoverflow一样,请告诉我!:) – 2010-12-07 09:28:14
@Truls:这不是一种在DB中存储标签的有效方法。您应该创建一个名为tag的表,其中包含tag_id和tag_name,另一个表用于所有帖子,以及一个一对多连接表来显示哪些标签与每个帖子相关。通过这种方式,读取特定帖子的标签会更容易一些,而且LOT更容易显示“标签X的所有帖子”或“用户Y的所有标签”。 – Galz 2011-02-14 22:57:13