Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание тегов или меток

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: ...
vlados
Отправлено: 01 Июня, 2011 - 15:42:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 391
Дата рег-ции: Май 2011  


Помог: 1 раз(а)

[+][+][+]


есть база с данными, все данные содержатся в одной таблице. Нужно сделать метки\теги вот в таком виде:
Цитата:
ПХПводкаканатсом

Чем больше статей содержат данную метку тем больше шрифт.
Сам представляю как это сделать но запросов к базе очень много получается!!!

(Отредактировано автором: 01 Июня, 2011 - 15:43:13)

 
 Top
EuGen Администратор
Отправлено: 01 Июня, 2011 - 17:13:35
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Достаточно и одного:
SELECT `tag`, COUNT(*) FROM `table` GROUP BY `tag`


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
dropoff
Отправлено: 01 Июня, 2011 - 18:29:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




а если статей с меткой одной 500, а с другой 5?
Тут нужно расчет делать, что максимум может быть, например размер текста 20, а минимум 1
 
 Top
EuGen Администратор
Отправлено: 01 Июня, 2011 - 19:23:44
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Так никто и не говорит, что результат COUNT() нужно использовать как размер шрифта.

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

Запрос, однако, и правда будет один (начальный).


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB