わかりました。2つのテーブルがあります。1つは名前付きaccount_members
で、もう1つは。という名前account_follows
です。account_membersがお互いをフォローできるTwitterスタイルのフォローシステムが欲しいです。
Account Follows Table Structure:
id
account_name
followed_name
time
Account Members Table Structure:
id
Account_name
status (Account active or not)
たった1つの簡単なクエリで、フォローされているすべてのアカウントを取得できると思いました。
public function following($account_name)
{
$sql = "SELECT
F.id, F.account_name, F.followed_name, F.time,
M.account_name AS session_name, M.status
FROM account_follows F
LEFT JOIN account_members M ON F.account_name = M.account_name
WHERE F.account_name = :account_name
AND M.account_name = :account_name
ORDER BY id DESC LIMIT 5";
}
これにより、フォローされているすべてのaccount_membersが表示されます($account_name
URLを介して設定されます)
私が抱えている問題は、ログインしているaccount_memberが、フォローしている友達の友達をフォローまたはフォロー解除できるようにすることです。ログインしたaccount_memberを簡単にチェックして、リストにある人のフォローを解除するには、次の手順を実行します。
if($_SESSION['account_name'] == $row['account_name'])
{
echo'<a href="" id="..." class="...">Unfollow</a>';
}
上記は問題なく動作しますが、ログインしているアカウントのフォロワーのフォロワーと同様のことをしたいのですが...それが理にかなっている場合はどうでしょうか。
したがって、ボブはログインし、ボブは自分のフォローリストを見てマイクをクリックし、マイクがフォローしている人を表示します。このリストから、マイクがフォローしている人(およびボブがフォローしている可能性のある人)をフォロー/フォロー解除することができます。
任意のヘルプやガイダンスをいただければ幸いです。