Как реализовать хэштеги?

Как обрабатываются, хранятся хэштеги на сайте? Чтобы можно было просматривать списки тегов, выводить популярные и т.п. Я так понимаю, что их при сохранении поста надо выпарсить и куда-то сложить...
  • Вопрос задан
  • 2709 просмотров
Решения вопроса 2
@djay
Не согласен с выбранным ответом, по следующим причинам:

1) Не надо ничего разбивать по запятым. Нужно использовать плагин Select2 который уже написан для этого. Он как раз присылает готовый массив, который можно вставить сразу в таблицу.

2) Нарушается принцип нормализации данных. Что если будет 500 тэгов, например с меткой "PHP" то 500 раз нужно будет хранить три байта? А если тэг длинее и записей 500?

А теперь правильный ответ:

Теги и статьи - это связка Many-To-Many, что означает,

1. Статьи храним в одной таблице (id, name, ....)
2. Теги в другой (id, name)
3. Теги и статьи ничего не знают друг о друге и полностью независимы
4. Для связки вводится третья таблица (Junction table), которая отвечает за связку ID ов. (tag_id, article_id)
5. Используем любой PHP фреймворк для упрощения работы с Many-To-Many.
Ответ написан
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
да все верно

- пользователь указывает: тэг-1, тэг-2 ... тэг-x
- разбиваешь по запятым и добавляешь в базу, например в табличку:

post_id | int
tag | varchar

- дальше уже можешь подбивать топ или делать любые другие операции
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы