Zde je pro vás obecné rozložení, vytvořte tři tabulky, jak jste zmínil, níže jsem nastínil jen jako příklad
[TABULKY]
- uživatelé
- sledující
- příspěvky
V tabulce uživatelů byste měli mít alespoň sloupce jako userid (automaticky zvýšená hodnota / primární klíč).
Tabulka sledujících by měla mít něco jako userid, které by odpovídalo userid tabulky uživatelů, sloupec followid, který by měl také ID # pro následovníka z tabulky uživatelů.
Pak byste pro svou tabulku příspěvků chtěli mít také ID uživatele, takže když bude každý příspěvek vytvořen, bude mít ID z tabulky uživatelů.
Pak byste museli udělat něco jako:
SELECT p.*
FROM posts AS p
WHERE p.userid IN (SELECT followid FROM followers WHERE userid = ###)
ORDER BY p.date DESC
Nyní opravdu záleží na tom, jak získáváte ID uživatele, abyste to zjistili. Pokud předáváte ID uživatelů pomocí relace poté, co se přihlásili, podobně jako něco jako Facebook, můžete změnit userid =### na něco jako userid =".$_SESSION['userrid']." Ale opět opravdu záleží na tom, jak předáte ID uživatele, ale výše uvedené by vás mělo alespoň trochu začít.
Nezapomeňte umístit indexy do sloupců userid, followid, takže když se tabulka zvětší, rychle se spojí.