Облако тегов? как?

Lauri

Новичок
Облако тегов? как?

Люди, хелп! Какой месяц парюсь - ничего толкогого в голову не пришло :(
Дело обстоит так: есть таблица в БД со статьями, есть в ней столбец с тегами вида tag, another tag, more tags . Трабл в том чтобы посчитать сколько таких-то тегов, а сколько таких-то (естественно при этом читая сами теги, а не брать из головы). Дальше с выводом их я разберусь.

Искрене надеюсь на Вас :)
 

AP

Новичок
$X – Количество слов, выводимых на странице – это значение вы можете взять любое, а лучше добавить себе в админку опцию, чтоб можно было легко изменять его на свой вкус.

Берём из всего списка теги с самым большим значением очков в количестве $X штук.

$Y – это сумма очков (сколько раз упоминали этот тег) всех тегов массива $X.

$Y / $X = $Z1

Если $X >= 10, то $X / 10 * $Z1 = $Z2
Если $X < 10, то $Z1 = $Z2

$Z2 – это средний коэффициент для определения размера шрифта тега.

$Тег / $Z2 / 2 = $R


Если $R
От 0 до 0,25 (включительно) – 8px
От 0,25 до 0,5 (включительно) – 10px
От 0,5 до 1 (включительно) – 12px
От 1 до 1,5 (включительно) – 14px
От 1,5 до 2,25 (включительно) – 16px
От 2,25 до 3 (включительно) – 18px
От 3 до 3,75 (включительно) – 20px
От 3,75 до 4,75 (включительно) - 22px
От 4,75 до 5,75 (включительно) – 24px
От 7 до 8,25 (включительно) – 26px
От 8,25 до 10,5 (включительно) – 28px
От 10,5 до 12 (включительно) – 30px
От 12 до 20 (включительно) – 32px

*Примечание коэф. 12 – это 60% очков, что само по себе почти невозможно.
Для шрифтов от 8px до 32px c шагом 2px.
 

rooot

Новичок
PHP:
$host="localhost";
$login="login";
$pass="passwd";
$db="database";

$link = mysql_connect($host, $login, $pass) or die("Could not connect : " . mysql_error());
mysql_select_db($db) or die("Could not select database");

# Определяем какие есть теги в БД и их кол-во
$query = "select DISTINCT tag_tbl from `data`";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$tag_name=$row[0];
}

$k=count($tag_name, COUNT_RECURSIVE);

# Подсчитываем сумму тегов из каждого вида
for($i=0;$i<$k-1;$i++)
{

$query1 = "select tag_tbl from `data` where tag_tbl='$tag_name[$i]'";
$result1 = mysql_query($query1) or die("Query failed : " . mysql_error());
while ($row1 = mysql_fetch_array($result1, MYSQL_NUM)) {
#Тут получаешь сумму каждого тега, труда не составит придумать логику.
}

}

mysql_close($link);
 

Lauri

Новичок
Всем спасиба! Очень помогли, а то на других форумах только отписываются :)
 
Сверху