Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тэги для "облока тэгов" 
:(
    Опции темы
Muerto
Дата 21.12.2010, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



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

На данный момент я ещё думаю как это реализовать...
т.е. как посты разбивать по тэгам, ведь у одного поста может быть 100 тэгов...

Разумеется есть ленивый вариант создать поле тэгов и там через запятую у каждого поста свои тэги стоять будут...

Но как то мне такой подход не по душе...

Вроде бы и поиск по тэгам не проблема...

С облаком при таком подходе конечно намудрить придется, как то фильтровать какие тэги уже есть, а каких нету... и все выводить 1 раз...

Я вот ещё думал...

Взять таблицу создать  тэг-idпоста
и так легко можно будет все находить...

Ну в общем что профи скажут?


--------------------
user posted image
PM MAIL   Вверх
skyboy
Дата 21.12.2010, 02:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



комментарии ты тоже думаешь через запятую сохранять в одно поле? или все же завести отдельную таблицу?
конечно, отдельная сущность(тег) в отдельную таблицу.
более того. не "тег + id_поста", а "id_тега + id_поста". чтоб для 10 статей 10 раз не хранить слово "синхрофазотрон". 
PM MAIL   Вверх
Severyanin
Дата 21.12.2010, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



почему бы не посмотреть, как это реализовано на обычном вордпрессе?)


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
Muerto
Дата 21.12.2010, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Severyanin, Все упирается во времени =-)


--------------------
user posted image
PM MAIL   Вверх
gta4kv
Дата 21.12.2010, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Раз упирается во времени, то посмотреть реализацию в Wordpress более адекватный вариант, чем дождаться здесь ответа...
PM MAIL   Вверх
Muerto
Дата 23.12.2010, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Порылся  в вордпресс но пока ещё не понял как у них там что хранится...

Вот структура таблицы тэгов

Код

CREATE TABLE IF NOT EXISTS `wp_terms` (
  `term_id` bigint(20) unsigned NOT NULL auto_increment,
  `name` varchar(200) NOT NULL default '',
  `slug` varchar(200) NOT NULL default '',
  `term_group` bigint(10) NOT NULL default '0',
  PRIMARY KEY  (`term_id`),
  UNIQUE KEY `slug` (`slug`),
  KEY `name` (`name`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=204 ;


Пример данных

Код

(10, 'gmail', 'gmail', 0),
(11, 'smtp', 'smtp', 0),
(12, 'noobies', 'noobies', 0),
(13, 'guide', 'guide', 0),


В wp_posts ничего такого нету что бы ссылалось туды...

Похоже есть ещё одна таблица которая это делает по id в wp_posts


Единственный вариант из всех таблиц похоже что

wp_postmeta

Такая вот структура


Код

CREATE TABLE IF NOT EXISTS `wp_postmeta` (
  `meta_id` bigint(20) unsigned NOT NULL auto_increment,
  `post_id` bigint(20) unsigned NOT NULL default '0',
  `meta_key` varchar(255) default NULL,
  `meta_value` longtext,
  PRIMARY KEY  (`meta_id`),
  KEY `post_id` (`post_id`),
  KEY `meta_key` (`meta_key`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=417 ;


НО данные не те, так что сомниваюсь сильно

Код

(393, 174, '_wp_old_slug', ''),
(394, 176, '_edit_last', '1'),
(395, 176, '_edit_lock', '1292573842'),
(396, 176, 'wp_noextrenallinks_mask_links', '0'),
(402, 179, '_edit_lock', '1292574771'),
(401, 179, '_edit_last', '1'),
(399, 176, 'views', '8'),
(400, 176, '_wp_old_slug', ''),
(403, 179, 'wp_noextrenallinks_mask_links', '0'),
(409, 181, '_edit_lock', '1292574967'),
(408, 181, '_edit_last', '1'),
(406, 179, 'views', '10'),
(407, 179, '_wp_old_slug', ''),
(410, 181, 'wp_noextrenallinks_mask_links', '0'),
(413, 181, 'views', '13'),
(414, 181, '_wp_old_slug', '');


Буду рад если прояснит кто что же они тут натворили

Добавлено через 11 минут и 17 секунд
В общем порылся порылся, сдаюсь... так быстро там не понять как они связывают между тэгами и постами, прям магия  smile 

ПО большому счету облоко уже не проблема тупо таблица тэгов и все...

При клике можно тупо в поле тэгов постов искать

Проблема в том что тэги даются через запятую к примеру а обычно в темах там они разбиты и ссылка идет на каждый тэг...

Т.е. здесь нужно взять текст вида

a, b, c, d, 

И разбить на ссылки...

Думаю собственно это можно осуществить простым explode


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.