私は自分のサイトに友達リスト システムを実装しており、受け入れた (したがって、受け入れた値は 1 です) 友人の名前を表示するようにしました。ダミー アカウントにアクセスすると、彼らの友人を見ることができますが、ダミーアカウントとしてログインしています。データベースのuser_idを手動で「1」に変更し、ログアウトしてログインすると、user_idが1の場合にのみ機能することがわかりました。コードは次のとおりです。また、それはまだ MYSQLI ではありません。それが私の次のステップです。
<h1>Friends</h1>
<?php
$user_id = user_id_from_username($username);
if($_SESSION['user_id'] == $user_id){
$logged_user_id = $_SESSION['user_id'];
$result = mysql_query("SELECT * FROM `friends` WHERE `friend_id`='{$logged_user_id}' AND `user_id`!='{$logged_user_id}' AND `accepted`='1'");
while ($row = mysql_fetch_array($result)){
$friend_id = $row['user_id'];
/*Get friend details*/
$fetch_details = mysql_fetch_object(mysql_query("SELECT * FROM `users` WHERE `user_id`='{$friend_id}'"));
echo $fetch_details->username;
echo '<br/>';
}
}
else if($_SESSION['user_id'] != $user_id){
$user_id = user_id_from_username($username);
$logged_user_id = $user_id;
$result = mysql_query("SELECT * FROM `friends` WHERE `user_id`='{$logged_user_id}' AND `friend_id`!='{$logged_user_id}' AND `accepted`='1'");
while ($row = mysql_fetch_array($result)){
$friend_id = $row['friend_id'];
/*Get friend details*/
$fetch_details = mysql_fetch_object(mysql_query("SELECT * FROM `users` WHERE `user_id`='{$friend_id}'"));
echo $fetch_details->username;
echo '<br/>';
}
}
?>
テーブル
FRIENDS
id(AI)
user_id
friends_id
datemade
accepted(enum 0, 1)
USERS
user_id(AI)
username
profile
active