Задать вопрос
Stiflerus
@Stiflerus
Саморазвитие мое все.

Mysql зарос. Как получить список тегов когда идет вывод всех статей?

Є варіант дизайн вигляду карточки статті:
5be32aac64a4f490081959.png

Заголовок, категории, и другое выводится прекрасно, но вывести теги относительно статьи не удается ...
Думал можно использовать "вложеный запрос", но кажется так не получится.
Единственный вариант к которому пока додумался, но он мне не нравится, это при выводе статьи сделать функцию типа getTagsByArticleId () и извлекать теги относительно статьи ...
Возможно кто-то знает вариант получше?

Запрос, который сейчас выводит все статьи:

SELECT
    blog_articles.article_id
    , blog_articles.link
    , blog_articles_langs.youtube
    , blog_articles_langs.soundcloud
    , blog_articles_langs.title
    , blog_articles.cat_id
    , blog_articles.img_card
    , blog_articles.publish_up
    , blog_articles.publish_down
    , blog_articles.access
    , blog_articles.hits
    , blog_articles.likes
    , blog_articles.img_card
    , blog_articles.content_mini_desc
    , blog_articles.take_media_from_id
    , blog_articles.created_date
    , blog_cat.color as cat_color
    , blog_cat.link as cat_link
    , blog_cat_langs.title as cat_title
FROM blog_articles
JOIN blog_articles_langs ON
    blog_articles_langs.relation_id = blog_articles.article_id
JOIN tags_relation ON
    tags_relation.article_id = blog_articles.article_id
JOIN blog_cat ON
    blog_cat.cat_id = blog_articles.cat_id
JOIN blog_cat_langs ON
    blog_cat_langs.relation_id = blog_articles.cat_id
WHERE
        blog_articles.published = "show"
    and blog_articles_langs.lang = "'.$need_lang.'"
ORDER BY blog_articles.created_date DESC
LIMIT '.$startPos.', '.$perpage.'
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
kawabanga
@kawabanga
!!!! Проверьте, есть ли у вас sql уязвимости. так как LIMIT '.$startPos.', '.$perpage.' - очень плохой код, и если туда приходят не числа - это крайне плохо.

Теги могут повторяться, поэтому, чтобы не дергать лишний раз, основным запросом вы получаете ИД статей текущей страницы. А вторым запросом получаете всю нужную информацию о тегах на текущей странице.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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