[php] вывести метки(tags) на сайт + меняем размер в зависимости от популярности

Discussion in 'PHP' started by InfectedM, 11 Sep 2015.

  1. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Есть css классы:
    big-1 ... big-5 , который настраивают величину шрифта

    есть запрос который возвращает сумму использования меток.
    PHP:
    SELECT tag_post.tag as id,count(tag_post.tag) as count_a,tags.name from tag_post
    LEFT JOIN tags ON tag_post
    .tag tags.id
    group by tag_post
    .tag
    order by  count_a desc limit 10
    допустим вернул:

    Сиськи - 10
    Ананасы - 1
    Молоко - 100
    Анчоус: 1
    Дно: 2
    Новости: 1
    Сашка: 3

    Далее:
    1) ищем максимальную сумму (т.е. 100)
    3) делим 100 на 5 получаем получаем 20
    PHP:
    $result=20;

    if (
    $count $result*1)
    {
    big-1}
    if (
    $count $result*2)
    {
    big-2}
    if (
    $count $result*3)
    {
    big-3}
    if (
    $count $result*4)
    {
    big-4}
    if (
    $count $result*5)
    {
    big-5}
    Можете подсказать более грамотные алгоритмы решения?)
    Просто как по мне - так говно код получился.




    если у нас будет:

    Сиськи - 1000
    Ананасы - 1
    Молоко - 100
    Анчоус: 1
    Дно: 2
    Новости: 1
    Сашка: 3

    1000 / 5 = 200
    if < 200 {big-5}; if < 400{big-5} if < 600{big-5} if < 800{big-5} if <1000{big-5}

    тогда все будут big-1 , кроме сисек, сиськи будут big-5
    Молоко тоже популярно, но оно будет меньше 200, значит войдет в big-1
     
    #1 InfectedM, 11 Sep 2015
    Last edited: 11 Sep 2015
  2. cheebeez

    cheebeez Member

    Joined:
    28 Feb 2010
    Messages:
    34
    Likes Received:
    43
    Reputations:
    1
    Можно как вариант исходить из среднеарифметического(СА), оно будет big-3, делим СА на два это big-1 и big-2, прибавляем поделенную половину к СА это big-4, прибавляем еще раз это big-5.