让我开始吧。
我有一个带有文本行的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)";
}
希望这可以帮助
编辑:正如其他人所说,从长远来看,使用单独的标签表会更高效/更轻松。