myfriends
私は2列で呼ばれるテーブルを持っています:
friend_id1
friend_id2
誰かが何人かの友人である場合、2 つのレコードが存在します。たとえば、1000、1001、1002、1003 の 4 つのメンバーを考えてみましょう。
1000 と 1001 が互いに友人である場合、 と の 2 つのレコードが存在(1000, 1001)
し(1001, 1000)
ます。例として、1000 が 1002 とも友達であると仮定します。
ログインしているユーザーと友達ではない人(たとえば 1000 人) を表示し、それぞれの横に共通の友達数を表示したいと考えています。例を考えると、1002 の前に 1 を、1003 の前に 0 を表示する必要があります。
これは、テーブル内の名前の横にある [友達として追加] ボタンを使用してすべてのメンバーを一覧表示するために使用するコードとクエリの一部です。
$query ="SELECT profile_name,friend_id from friends
WHERE friend_id<>'$friendID'
AND
friend_id NOT IN( SELECT friend_id2 from myfriends WHERE friend_id1='$friendID')";
$results = @mysqli_query($conn, $query) or die
$row = mysqli_fetch_row($results);
echo "<table width='50%' border='1'>";
while ($row) {
echo "<tr><td>{$row[0]}</td>";
?>
<td><button onclick = "window.location.href='friendadd.php?addfriend=<?php echo $row[1];?>'">Add as friend</button></td></tr>
<?php
$row = mysqli_fetch_row($results);
}
echo "</table>";
プロフィール名と友達追加ボタンの間にお互いの友達数を表示したいです。