I changed the query to a more simple one and do the rest in php.
function get_tag_related_tags($tag) {
$query = "
SELECT tags
FROM ^posts
WHERE type='Q' AND tags LIKE CONCAT('%', # , '%')
";
$results = qa_db_read_all_assoc(qa_db_query_sub($query, $tag));
$tag_counts = ];
foreach ($results as $row) {
$tags = explode(',', $row'tags']);
foreach ($tags as $t) {
$t = trim($t);
if ($t !== $tag && $t !== '') {
if (!isset($tag_counts$t])) {
$tag_counts$t] = 0;
}
$tag_counts$t]++;
}
}
}
arsort($tag_counts);
$related_tags = ];
$i = 0;
foreach ($tag_counts as $t => $count) {
$related_tags] = 'tag' => $t, 'count' => $count];
$i++;
//if ($i >= 10) break;
}
return $related_tags;
}
Now it works. |