Есть такой запрос, выбирающий в базе случайные новости из той же категории, что и новость, в которой они выводятся (что-то вроде похожих новостей, related, но проще гораздо). Трабл весь в том, что новость может иметь несколько категорий, и в таком случае этот запрос осуществляет выборку новостей только с аналогичным набором категорий, как и у основной новости, в которой делается вывод.
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE `category` = '{$row['category']}' ORDER BY RAND() LIMIT 16");Конкретно, я понимаю, что эта часть запроса отвечает за выборку новостей из определённой категории:
category` = '{$row['category']}'
Но вот вопрос, как сделать, чтобы выборка осуществлялась не по точному совпадению, например id: 12,18,31, а чтобы вывелись новости, содержащие хотя бы одну из категорий 12,18 или 31 ?В самом PHP скрипте встречаются еще такие моменты:
$category_id = $row['category'];
if( ! $row['category'] ) {
$my_cat = "---";
$my_cat_link = "---";
} else {
$my_cat = array ();
$my_cat_link = array ();
$cat_list = explode( ',', $row['category'] );
$category_id = intval( $row['category'] );Прикрепляю к посту и полную версию кода...
Отсутсвие знаний не даёт мне возможности самой разобраться, хоть и пыталась найти инфу в доке по mysql. Пересмотрела типовые запросы, ничего подобного не нашла :(
Прошу помощи знатоков :unsure:
Благодарю за внимание.
С уважением, Анастасия.