Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

Вывод данных из таблицы


kmrnms

Рекомендуемые сообщения

Всем привет, есть таблица которая содержит данные записей:

введите сюда описание изображения

И еще таблица которая содержит данные какой пользователь подписан на кого:

введите сюда описание изображения

Есть переменная $authedUser со значением 1 ( ID авторизованного пользователя)

Я пытаюсь вывести все записи с первой таблицы, автором которого является авторизованный пользователь и все остальные записи пользователей которые есть в подписках этого пользователя:

SELECT tb1.*, tb2.* 
FROM `posts` tb1, `follows` tb2 
WHERE (tb2.user_id = '{$authedUser}' AND tb2.with_user_id = tb1.id_post_author) 
      OR tb1.id_post_author = '{$authedUser}' 
ORDER by tb1.date DESC

Выводятся записи пользователей которые есть в подписках, но записи автором котого является авторизованный пользователь дублируются несколько раз! В чем может быть проблема?

Изменено пользователем Kamran MUSA
Ссылка на комментарий
Поделиться на другие сайты

Твой вариант прикольный вывести одним запросом но я бы сделал лично так.

1. Собрал бы в переменную айди подписок (плюс свой айди)

$ids = '';
foreach($db->super_query("SELECT * FROM `follows` WHERE user_id = '{$authedUser}'", true) as $fllow){
	$ids .= $fllow['with_user_id'].',';
}


2. Потом бы просто прогнал это так:
 

$db->super_query("SELECT * FROM `posts` WHERE FIND_IN_SET(".substr($ids, 0, -1).", user_id) ORDER by date` DESC", true)


P.s. Это как один из вариантов. Конечно лучше выводить 1 запросом но мне лень думать)

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...