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

Как обрабатываются, хранятся хэштеги на сайте? Чтобы можно было просматривать списки тегов, выводить популярные и т.п. Я так понимаю, что их при сохранении поста надо выпарсить и куда-то сложить...
  • Вопрос задан
  • 2702 просмотра
Решения вопроса 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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 20:02
100000 руб./за проект
25 апр. 2024, в 19:42
49000 руб./за проект
25 апр. 2024, в 19:41
2000 руб./за проект