Как правильно реализовать систему подписок PHP?
Мой вариант: Создать таблицу subs, создать 2 поля "на кого подписался" , "кто подписался".норм. primary key по двум полям не забудьте.Через foreach проверять подписчиков и с сессией пользователя, и в зависимости от true или false выводить контент страницы.Это про ленту новостей как я понял? Вы хотите в цикле делать запросы? А если подписок будет несколько сотен?
Вообще задача отображения ленты событий - она весьма не тривиальная, и чем больше нагрузка - тем более она не тривиальная.Пока у вас мало трафика решение в лоб - 2 запроса:
1) получаем user_id людей чьи посты надо показать
2) получаем посты select * from post where user_id IN (1,2,3,4) 
именно так, в 2 запроса, без вложенных подзапросов!
Если подписчиков меньше ~1000 - будет работать хорошо.Когда станет трафика сильно побольше - возникает более быстрое но более геморройное решение:
Для каждого пользователя храним в каком то быстром хранилище (например redis) id последних например 500-1000 постов которые он может видеть в ленте. Когда кто то делает пост - добавляем в список каждого его подписчика нужные id. Когда кто то удаляет пост / удаляет подписку - полностью перегенерим соответствующие списки.
На выводе соответственно 
1) получаем этот список id постов
2) делаем select ... from post where id in (...)
Минус решения - нельзя без извращений и доп слоёв логики посмотреть более старые посты.
Я бы сделал колонки author, sub-author
$connect = mysql_query("SELECT * FROM subs WHERE author = author");
while($perem = mysql_fetch_array($connect)) {
echo $perem[sub-author''];
}