Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#127 Re: Флейм » Облако тегов [php] » 2009-01-08 00:53:48

Конечно, только врядли это можно считать образцом для подражания, наверно все можно было сделать намного проще )

Создал файл который будет через некоторое время, или в ручную обновлять таблицу с индексами тегов (это значит, что мне все-таки пришлось создать отдельную таблицу с индексами).

<?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;
}

В общем-то вот так.

#128 Re: Флейм » Облако тегов [php] » 2009-01-07 17:59:09

Сделал отдельный скрипт для подсчета всех доступных тегов в статьях, вынес в отдельную таблицу, все работает.

Тему можно закрыть )

#129 Флейм » Облако тегов [php] » 2009-01-07 17:29:32

d7p4x
Ответов: 3

Всем привет. Появился вопросик относительно создания обалка тегов на php. Можно ли его как-то реализовать, не выделяя сами теги в отдельную таблицу. Тоесть есть просто таблица с данными, в ней есть столбец "теги" через запятую, и необходимо реализовать нормальное облако тегов.

Понимаю, что это несколько геморней чем просто вынести теги в отдельную таблицу. Но вот надо )

Был бы благодарен прямо куску кода ) Какой-то тупняк напал просто.

#130 Re: Флейм » Проведение розыгрышей призов среди посетителей. Ваши идеи? » 2009-01-03 14:41:43

Как вы говорите "развлекушки" я думаю не будут развлекательными, например, приз за самый просматриваемый хак, скаченный плагин, шаблон, и т.д
Еще как вариант - дан код html, js, php - сделай код кроссбраузерным, найди ошибку.

Конкурсы это всегда интересно и увлекательно.

#131 Re: Флейм » С Новым Годом! » 2008-12-31 22:41:17

Присоединяюсь к поздравлениям. А пожелать хочется увеличения комьюнити системы. А тетка не понравилась, а те три которые сверху понравились )

#133 Re: Флейм » VPS и разные "шаблоны по умолчанию" » 2008-12-13 17:52:02

Plesk от Parallel не бесплатный.

А yum ставится самостоятельно он не обязан быть, + nginx аналогично. Тебе дают нуленую платформу а это ее подгоняешь под себя что тебе надо. Совсем не обязательно что это должен делать за тебя хостер и бесплатно.

Место - сотри логи )

#134 Re: Флейм » VPS и разные "шаблоны по умолчанию" » 2008-12-10 15:34:38

yum install <список пакетов для установки>

Это при установленном yum ) Обычно получается так, что нет ни его, ни даже mc.

По-поводу разных дистрибутивов ничего сказать не могу, наверно для заядлых линуксоидов которые преданы тем или иным дистрибутивам.

#135 Re: Флейм » Новый объективчик - Sigma AF 17-35mm f/2.8-4 EX DG HSM » 2008-12-08 20:44:05

Для фотографировать иногда зеркалку не берут вместе с кучей объективов )

#136 Re: "А как сделать..." » i need help with preg_match » 2008-11-29 09:32:34

htaccess почему не подходит, если не секрет

#141 Re: Новый функционал » Галерея с библиотекой JQuery » 2008-11-24 23:03:23

Причем тут jquery. Каждая новость - одна фотография, категория - альбом, в чем проблема?

#142 Re: Новый функционал » Плагин каталога MP3 » 2008-11-24 21:43:57

Представил mp3 файл преобразовавшийся в ссылку....

#144 Re: Релизы версий » Версия 0.9.0 Release » 2008-11-17 00:46:06

oktano, да, я перепутал оно все на одно лицо )

#145 Re: Релизы версий » Версия 0.9.0 Release » 2008-11-15 13:12:45

{bookmarks}: добавить новость - дополнительно - добавить в закладки

#146 Re: Флейм » Top-3 ожидаемых плагинов » 2008-11-12 23:16:20

Я вижу в будущем новую тему: "Самый самый ТОП плагинов для ngcms из топ-3 самых ожидаемых плагинов" ТОП ТОП - добавить по вкусу.

#147 Re: Флейм » Аптайм Windows XP » 2008-11-12 02:18:26

Я его в спать загоняю все время и все ) Где-то около 2х ночи и врубаю часов в 18. Раньше помню было время когда тока тока дали анлим, машина даже не спала ) все качалось качалось )

#148 Re: Бесплатные шаблоны » Simple Blog » 2008-11-12 02:17:00

А где там написано про теги h1 ? То вы говорите про seo, то про валидацию...

#149 Re: Флейм » Аптайм Windows XP » 2008-11-11 20:26:53

А ты чем смотрел?
У меня по systeminfo время работы - 15 дней )

Подвал раздела

Работает на FluxBB