Задачка для трезвых умом

Главные вкладки

Аватар пользователя Dmitriy.ua Dmitriy.ua 10 июля 2011 в 0:00

Есть сайт, на нем есть тип материала "Проекты", проекты делятся на разные типы с помощью таксономии (1 уровень). Че надо, а надо вывести вот такую картинку:

Т.е., слева проект, справа "индикатор", этот индикатор характеризует количество материалов, но В ПРОЦЕНТНОМ ОТНОШЕНИИ к другим типам проектов.

Вод загвоздка у меня сейчас в этом процентном отношении, как выйти на цифру количества квадратиков напротив каждого типа проекта?)

Комментарии

Аватар пользователя Dmitriy.ua Dmitriy.ua 10 июля 2011 в 1:49

"xxandeadxx" wrote:
SELECT COUNT(*) FROM {term_node}
WHERE tid = 123

<?php
 $sql 
'SELECT COUNT(n.nid) FROM {node} n 
     LEFT JOIN {term_node} tn ON n.vid = tn.vid  
     WHERE n.type = "projects" AND n.status <> 0 AND tn.tid = %d AND (n.language ="%s" OR n.language ="" OR n.language IS NULL)'
;
?>

Нужно построить простейший график на основе этих цифр.

Аватар пользователя vermix1 vermix1 10 июля 2011 в 5:27

Так квадратик наверное равен определенному количеству процентов. Допустим 1 кавадратик = 3%. Берем процент нод по каждому термину и делим нацело на 3. Получаем количество квадратиков. Процент нод по термину тоже несложно получить - вначале получаете количество по типу материала, это будет 100%, затем количество нод с термином. Потом делите количество с термином на общее количество и умножаете на 100. Или я чего-то не так понял?

Аватар пользователя direqtor direqtor 10 июля 2011 в 5:30

Я бы с вьюсом поизвращался. Простейший и быстрый вариант: таблица терминов таксономии с числом материалов. В подвал вьюшки JS, который посчитает сумму, проценты и нарисует квадратики.

Аватар пользователя direqtor direqtor 10 июля 2011 в 5:32

Плюс с jQuery можно эффекты всякие применить, типа заполнения квадратиками по одному, подкраски максимума и минимума.

Аватар пользователя gorr gorr 10 июля 2011 в 10:36

Когда-то подобное делал, но не для таксономии, а для рейтингов или еще чего-то, в общем идею графической реализации можно почерпнуть в стандартном опросе.