让我开始吧。
我有一个带有文本行的MySQL表。例...
    进入|标签
    1 |标签,标签1,标签4
    post2 |标签1,标签2,标签4
我想获取所有标签,并显示标签和使用次数。例...
    标签(1)
    标签1(2)
    标签4(2)
    标签2(1)
我可以使用当前设置执行此操作吗?感谢您的时间。

我去建立了一个名为“标签”的新表。这就是它的样子...

ID | POSTID | TAG
1       1     tag1
2       1     tag2
3       2     tag5
4       3     tag2
5       3     tag2


现在,我该如何建立这样一个清单?

tag1 (1)
tag2 (3)
tag5 (1)

最佳答案

您可以这样做,但是解析PHP中的标签最简单,因此对于所有标签:

$tagcount = array();
$query = "SELECT tags from table";
$result = mysqli_query($query);
while ($row = mysqli_fetch_array($result)) {
    $tags = explode(',', $row['tags']);
    foreach ($tags as $tag) {
    $tag = trim($tag);
        if (array_key_exists($tag, $tagcount)) {
            $tagcount[$tag]++;
        } else {
            $tagcount[$tag] = 1;
        }
    }
}
foreach ($tagcount as $key=>$value) {
     echo "<p>$key used $value time(s)";
}


希望这可以帮助

编辑:正如其他人所说,从长远来看,使用单独的标签表会更高效/更轻松。

07-26 05:21