Обучение/Помощь новичкам | Дублирует сообщение
Тогда тут надо применять правило 1 всем.
В пример могу предложить рассмотреть как работает Multicast в сетях IP передачи данных.
Multicast (мультикаст) – процесс отправки пакета от одного хоста к некоторой ограниченной группе хостов.
От сюда тебе надо сделать так что бы все твои подписчики видели 1 пост.
Зачем тебе для каждого плодить по посту? Тем самым забивая базу лишними записями и создавать этим самым нагрузку.
Помни чем больше постов в выборке тем сложнее БД работать.
Дело в том что каждая запись из одной таблицы сравнивает ся с записью с другой таблицы и выводятся все что совпало с условием, тоесть сколько раз совпало столько и выведет повторений. Не правильно прописан запрос.
Дело в том что каждая запись из одной таблицы сравнивает ся с записью с другой таблицы и выводятся все что совпало с условием, тоесть сколько раз совпало столько и выведет повторений. Не правильно прописан запрос.
Попробуйте лучше структуру таблиц и тестовые данные показать (не в виде картинок)
В общем нашел что то подобного и там есть решение:
https://translated.turbopages.org/proxy_u/en-ru.ru.5331cbda-...rs-own-posts
https://translated.turbopages.org/proxy_u/en-ru.ru.5331cbda-...rs-own-posts
Предполагаю можно так сделать
"select * from post
where id_author = {$user['id']} or id_author
in (select id_user from followers where id_follower = {$user['id']})
order by time
desc limit $start, 10"
"select * from post
where id_author = {$user['id']} or id_author
in (select id_user from followers where id_follower = {$user['id']})
order by time
desc limit $start, 10"
Но не имея на руках данных не ручаюсь за результат
Сначало поставь задачу, потом решение пиши, все просто.
sql
$c = $db->query("SELECT * FROM `followers` tb1,`post` tb2 WHERE tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."' AND tb1.id_follower = tb2.id_author ORDER by tb2.time DESC LIMIT $start, 10"); sql
$c = $db->query("SELECT * FROM `followers` tb1,`post` tb2 WHERE tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."' AND tb1.id_follower = tb2.id_author GROUP BY tb2.time DESC LIMIT $start, 10");