Вы не зашли.
Ура, пузомерки )
Конечно, только врядли это можно считать образцом для подражания, наверно все можно было сделать намного проще )
Создал файл который будет через некоторое время, или в ручную обновлять таблицу с индексами тегов (это значит, что мне все-таки пришлось создать отдельную таблицу с индексами).
<?php
// массив хранящий список доступных тегов
$oldtags = array();
$i=0;
// делаем выборку всех воллпейперов
$sql="select * from papers";
// делаем запрос
$res=mysql_query($sql) or die("Query failed : " . mysql_error());
// проходим в цикле и заносим в массив каждый доступный тег
while($row=mysql_fetch_array($res,MYSQL_ASSOC))
{
$onestring=$row['paper_tags'];
$tags = array();
foreach (explode(",", $onestring) as $tag) {
$tag = trim($tag);
$oldtags[$i]=$tag;
$i++;
if (!$tag) continue;
}
}
$oldtags2 = array_unique($oldtags);
//
// Добавляем все доступные на данный момент теги в материалах
// с количеством просмотров 0
//
$sql = "TRUNCATE TABLE tagindex";
mysql_query($sql)or die("Query failed : " . mysql_error());
for ($j=0;$j<sizeof($oldtags2);$j++)
{
if ($oldtags2[$j]!="")
{
$sql = "INSERT INTO `tagindex` (`id_tag`, `tag_name`, `tag_count`) VALUES('''','$oldtags2[$j]','0')";
$res=mysql_query($sql) or die("Query failed : " . mysql_error());
}
}
// теперьн еобходимо заполнить таблицу данными сколько раз встречается тот или иной тег
// делаем выборку всех данных
$sql1 = "SELECT * FROM `tagindex`";
$res=mysql_query($sql1) or die("Query failed : " . mysql_error());
// в цикле проходим по каждому тегу
while($r=mysql_fetch_array($res))
{
$tag=$r['tag_name']; // название тега
$sel="SELECT count(*) FROM `papers` WHERE `paper_tags` LIKE '%$tag%'"; // считаем сколько данный тег встречается в статьях
$result=mysql_query($sel) or die("Query failed : " . mysql_error()); // делаем запрос
$rows=mysql_fetch_row($result); // получаем значение
$counter=$rows[0]; // количество встреч этого тега в статьях
// теперь необходимо это количество занести в базу, поэтому просто апдейтим по нашему тегу
$sql2 = "UPDATE `tagindex` SET `tag_count`='$counter' WHERE `tag_name` = '$tag' LIMIT 1";
$result2=mysql_query($sql2) or die("Query failed : " . mysql_error());
// проапдейтился
}
?>
ну и сама функция
function tags_cloud(){
$terms = array();
$max = 0; // переменная для рассчёта максимального значения
$sql = "SELECT tag_name, tag_count FROM `tagindex`";
$query=mysql_query($sql) or die("Query failed : " . mysql_error());
while ($row = mysql_fetch_array($query))
{
$tag = $row['tag_name'];
$counter = $row['tag_count'];
if ($counter> $max) $max = $counter;
$terms[] = array('tag' => $tag, 'counter' => $counter);
}
$cloud ="<div id='cloud'><div>";
foreach ($terms as $kol)
{
$per = floor(($kol['counter'] / $max) * 100);
if ($per <10)
{
$class = 'tag1';
} elseif ($per>= 10 && $per <30) {
$class = 'tag2';
} elseif ($per>= 30 && $per <50) {
$class = 'tag3';
} elseif ($per>= 50 && $per <60) {
$class = 'tag4';
} elseif ($per>= 60 && $per <80) {
$class = 'tag5';
} elseif ($per>= 80 && $per <90) {
$class = 'tag6';
} else {
$class='tag7';
}
$cloud .="<a href='/?tag=" .$kol['tag']. "' title='" . $kol['tag'] . "' class='$class'>" . $kol['tag'] . "</a> ";
}
$cloud .="</div></div>";
return $cloud;
}
В общем-то вот так.
Сделал отдельный скрипт для подсчета всех доступных тегов в статьях, вынес в отдельную таблицу, все работает.
Тему можно закрыть )
Всем привет. Появился вопросик относительно создания обалка тегов на php. Можно ли его как-то реализовать, не выделяя сами теги в отдельную таблицу. Тоесть есть просто таблица с данными, в ней есть столбец "теги" через запятую, и необходимо реализовать нормальное облако тегов.
Понимаю, что это несколько геморней чем просто вынести теги в отдельную таблицу. Но вот надо )
Был бы благодарен прямо куску кода ) Какой-то тупняк напал просто.
Как вы говорите "развлекушки" я думаю не будут развлекательными, например, приз за самый просматриваемый хак, скаченный плагин, шаблон, и т.д
Еще как вариант - дан код html, js, php - сделай код кроссбраузерным, найди ошибку.
Конкурсы это всегда интересно и увлекательно.
Присоединяюсь к поздравлениям. А пожелать хочется увеличения комьюнити системы. А тетка не понравилась, а те три которые сверху понравились )
Notepad ++ кодировка - UTF без BOM тебя спасет )
Plesk от Parallel не бесплатный.
А yum ставится самостоятельно он не обязан быть, + nginx аналогично. Тебе дают нуленую платформу а это ее подгоняешь под себя что тебе надо. Совсем не обязательно что это должен делать за тебя хостер и бесплатно.
Место - сотри логи )
yum install <список пакетов для установки>
Это при установленном yum ) Обычно получается так, что нет ни его, ни даже mc.
По-поводу разных дистрибутивов ничего сказать не могу, наверно для заядлых линуксоидов которые преданы тем или иным дистрибутивам.
Для фотографировать иногда зеркалку не берут вместе с кучей объективов )
htaccess почему не подходит, если не секрет
Зачем в класс?
что лучше лиса или опера?
http://best-hoster.ru/
жалко 40 рублей на хостинг?
Причем тут jquery. Каждая новость - одна фотография, категория - альбом, в чем проблема?
Представил mp3 файл преобразовавшийся в ссылку....
Даешь ссылки на популярные вопросы в шапку )
oktano, да, я перепутал оно все на одно лицо )
{bookmarks}: добавить новость - дополнительно - добавить в закладки
Я вижу в будущем новую тему: "Самый самый ТОП плагинов для ngcms из топ-3 самых ожидаемых плагинов" ТОП ТОП - добавить по вкусу.
Я его в спать загоняю все время и все ) Где-то около 2х ночи и врубаю часов в 18. Раньше помню было время когда тока тока дали анлим, машина даже не спала ) все качалось качалось )
А где там написано про теги h1 ? То вы говорите про seo, то про валидацию...
А ты чем смотрел?
У меня по systeminfo время работы - 15 дней )
Откуда данные?