| Форум -> Система оформления -> подскажите с блоком «ТЕГИ» | 
| подскажите с блоком «ТЕГИ» | 
|---|
| shadow | Дата: 18.03.2009, в 11:18 | Сообщение №1 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | Собственно создал блок - аля теги, простенький, берет из масива набор слов и кол во, и соответствено выводит их разного размера ... все устраевает только такой косяк, размер слов генерится как надо, но слова слипаются между собой по высоте... как бы это подправить???????? 
 сами слова это с сылки со стилем
 
 | Код |  | 1 
 | ... style="font-size:".$size."px" .. | 
правится только размер слов а как бы еще отступы по высоте задать, ну что то в этом духе...
 
 
 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 Отредактированно shadow 19.03.2009 г. в 11:17:44
 | 
 | 
|  | 
| Serg_pnz | Дата: 18.03.2009, в 12:48 | Сообщение №2 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | shadow, устанавиливай межстрочник line-height с коэффициентом 1.2 от высоты. |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
| shadow | Дата: 18.03.2009, в 13:19 | Сообщение №3 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | Serg_pnz, а вот чуть чуть по конкретней можно? 
 | Код |  | 1 
 | $content .= "<a href=\"$homeurl/index.php?name=files&genre=".urlencode($gen)."\" target=\"_self\" title=\"$gen\" style=\"font-size:".$size."px\">$gen</a>"; | 
 И еще значения берутся из файлика, через запятую, потом соответственно генерится масив, прокручивается и выводится...
 - есть идеи как бы сделать чтоб при выводе слова шли не по порядку а рандомом, и не повторялись в случаи рандома?
 | 
 | 
|  | 
| Serg_pnz | Дата: 18.03.2009, в 14:35 | Сообщение №4 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | | Код |  | 1 
 | style=\"font-size:".$size."px; line-height:".(1.2*$size)."px;\" | 
 Пример того, что в файле лежит дай. Строк с десяток, но с повторами или что там у тебя.
 Кстати сам файл как засасываешь?
 |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
| shadow | Дата: 18.03.2009, в 15:25 | Сообщение №5 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | вот выкладываю, заточен под мои нужды и писал полностью сам, единственное что внем интересно так моя функция расчета размера тегов - задаем минимальный и максимальный размер... все остальное блок расчитает сам.... ГЫ как реализовать... - как всегда на толчке осенило.... 
 
 genre_num.txt создается другим скриптом по запуску с крона, и содержит количество "жанров" : (присваевается $num)
 12,0,1,7,23,45,0,6,.......
 список самих жанров(названия) инклудится из конфига файлов и содержит:
 $conff['genre'] = "анимация,боевик,вестерн,военный,......
 
 ну и сам блок: (пару строчек заремил чтоб он был центральным, а с ними он боковой,)
 
 
 Прикрепленные файлы:
 
  Скачать: 760 Bytes
 
 
 | 
 | 
|  | 
| Serg_pnz | Дата: 18.03.2009, в 16:54 | Сообщение №6 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | я так и думал... что тебе мешает юзать ассоциативный массив? 
 | Код |  | 1 
 | $mass['<жанр>'] = <номер>; | 
 Потом ему сделаешь шафл (перемешивание) и потом вывод.
 |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
| patriot | Дата: 18.03.2009, в 20:30 | Сообщение №7 | 
|   УчастникПользователь №: 349
 Сообщений: 92
 
 
      | | по стилям. добавь к стилям ссылки display:block; float:left
 должно помочь
 | 
 | 
|  | 
| shadow | Дата: 19.03.2009, в 11:15 | Сообщение №8 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | так, а подскажите, даже не знаю что придумать с такой проблемкой – в общем, этот блок (выложил выше) только так сказать отображает инфу, а есть еще меленький скриптик который генерит файлик "genre_num.txt" с количеством, так вот  там всего лишь один запрос в бд и счетчик, работает так - подставляется слово в запрос и оно ищется  в определенной таблице и записывается общее кол во таких слов... все бы замечательно,… но наш блин… великий русский язык….
 Когда подставляю «мелодрама» то все замечательно результат верный, а вот когда «драма» то соответственно засчитывает и то и то…
 Запрос такой:
 
 Колонка «genre» допустим содержит:| Код |  | 1 
 | ……sql_query("SELECT count(lid) FROM ".$prefix."_files WHERE genre LIKE '%драма%'")); | 
«детектив,документальный,драма,исторический,мелодрама» что можно тут придумать?
 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 Отредактированно shadow 19.03.2009 г. в 11:16:14
 | 
 | 
|  | 
| patriot | Дата: 19.03.2009, в 11:43 | Сообщение №9 | 
|   УчастникПользователь №: 349
 Сообщений: 92
 
 
      | | проверять на полное соответствие 
 | PHP - Код |  | 1 2
 3
 
 | <?phpgenre = 'драма'
 ?>
 | 
 ПС почему бы не воспользоваться готовым ) http://onlinews.ru/shop/mod_tags.html
 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 Отредактированно patriot 19.03.2009 г. в 11:44:40
 | 
 | 
|  | 
| shadow | Дата: 19.03.2009, в 12:05 | Сообщение №10 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | patriot, Гы так говорю же что поле "genre" не содержит отдельно слова например "драма" , а наборы слов, соответственно такого соответствия не будет, давно бы так уже сделал.... | 
 | 
|  | 
| Serg_pnz | Дата: 19.03.2009, в 12:14 | Сообщение №11 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | Засасывай поле целиком, потом его эксплодь по запятым, сливай всё в один массив и родной пхп функцией для массивов посмотри количество совпадений. |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
| shadow | Дата: 19.03.2009, в 12:28 | Сообщение №12 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | а что будет с сайтом?, с сервером? выживет? 1500 полей, в каждом 3-6 слов. не хилый массивчек получится...
 
 и того подсчет по массиву в виде переменой хранящейся в оперативке среди 6000 слов
  , и к тому же кол во поле каждый день увеличивается на 10! что будет дальше... 
 да конечно можно создать массив с нулевыми значениями, потом второй - брать из бд по 1-5 полей, посчитывать и увеличивать соответственные значения в первом массиве и прокручивать все это пока не дойду до конца базы, но такую реализацию я сам не осилю...
  
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 Отредактированно shadow 19.03.2009 г. в 12:46:38
 | 
 | 
|  | 
| Serg_pnz | Дата: 19.03.2009, в 14:44 | Сообщение №13 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | shadow, может 1500 записей, а не полей? |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
| Serg_pnz | Дата: 19.03.2009, в 15:07 | Сообщение №14 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | | Код |  | 1 
 | <?php 
 //эмулируем запрос
 $str[] = 'кино,вино,домино';
 $str[] = 'киносы,виносы,доминосы';
 $str[] = 'кино,вино,домино';
 $str[] = 'кинос,винос,доминос';
 $str[] = 'киносы,виносы,доминосы';
 $str[] = 'киносы,виносы,доминосы';
 $str[] = 'киносы,виносы,доминосы';
 $str[] = 'киносы,виносы,доминосы';
 $str[] = 'драма,меладрама';
 
 //ставлю foreach, но на самом деле тут должен быть while от запроса
 foreach($str as $key => $val) {
 $tmp = explode(',', $val);
 foreach($tmp as $key2 => $val2) {
 @$mass[$val2]++;
 }
 }
 
 //результат работы
 echo "<pre>";
 print_r($mass);
 echo "</pre>";
 ?>
 | 
 вернет
 
 | Цитата |  | Array (
 [кино] => 2
 [вино] => 2
 [домино] => 2
 [киносы] => 5
 [виносы] => 5
 [доминосы] => 5
 [кинос] => 1
 [винос] => 1
 [доминос] => 1
 [драма] => 1
 [меладрама] => 1
 )
 
 | 
 |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
| shadow | Дата: 19.03.2009, в 15:22 | Сообщение №15 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | Serg_pnz, ну я имел в виду кол во строк в бд таблицы. (ну проще говоря 1500 файлов в модуле).
 ну покрайней мере с рабочим примером )))
 
 но на самом деле именно в моем случае мне уже подсказали просто LIKE "расписать" по подробней, получилось вот:
 
 | Код |  | 1 
 | sql_query("SELECT count(lid) FROM ".$prefix."_files WHERE genre LIKE 'драма%' OR genre LIKE '%,драма%'") | 
вроде это перекрывает все варианты и когда только одно слово и когда оно в середине или в конце причем "мелодрама" не подходит...
 просто и со вкусом....
 Гы сейчас вот сижу жду часа Х, когда крон стартанет... посмотрим...
 | 
 | 
|  | 
| Serg_pnz | Дата: 19.03.2009, в 16:29 | Сообщение №16 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | shadow, сделай как я тебе написал в #14 и не мучайся. У тебя на каждое слово запрос что ли получается? А если ошибка в слове или список изменится?
 |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
| shadow | Дата: 19.03.2009, в 17:13 | Сообщение №17 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | при создании файла в админке - эти слова в ручную не вбиваются, вставляются из выподающего списка который берется из конфига, это же поле из конфига инклюдится и в сам - скрипт счетчик, который стартует тока 2 раза в сутки, больше и нет смысла. не я не спорю что твой код лучше, можно и его прекрутить, ток у меня щас 5 клонов этого блока и счетчиков.... так в лом переписывать все..., щас в 18.00 москве пересчитае.. посмотрю результат...
 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 Отредактированно shadow 19.03.2009 г. в 17:14:59
 | 
 | 
|  | 
| shadow | Дата: 19.03.2009, в 18:29 | Сообщение №18 | 
|   Активный участникПользователь №: 520
 Сообщений: 100
 
 
      | | столько уже тут всего написано что я все же решил показать результат. 
 вот скрин с сайта, и 4 клона этого блока в 2х вариантах - в одном кол-во выводится а в другом используется как критерий размера...
 
 
 
 P.C
 ток не бейте, совсем не в корзину, но пока темка в топах....
 оч нужно поднять свой форум, но пока там постов почти нет чтоб народ превлекать, кому не трудно оставте хотяб по одному посту или топику у меня на форуме... http://alfafilms.ru/forum/
 тематика - фильмы, кинематограф.
 Спасибо. (Сергей не сердись
  ) | 
 | 
|  | 
| Serg_pnz | Дата: 19.03.2009, в 20:21 | Сообщение №19 | 
|   АдминистраторПользователь №: 1
 Сообщений: 2243
 
 
      | | shadow, да мне-то что - пости, только скоро на всех страницах будет внедрен редирект... Ну как скоро - по мере надоедания и настроения. ссылки в подписи на форуме уже прикрыты, скоро доберусь до каментов и постов в форуме, а так же инфе юзеров. |  | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
 "...даме водки? Это чистый спирт!" © кот Бегемот
 | 
 | 
|  | 
|  | 
| Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
 
 
 |