當前位置: 首頁> 最新文章列表> PHP實現社交平台互相關注功能的完整開髮指南

PHP實現社交平台互相關注功能的完整開髮指南

M66 2025-07-02

互相關注功能的需求分析

隨著社交網絡的不斷普及,互相關注成為連接用戶的重要功能。用戶通過關注對方,可以實時獲取對方的動態信息,實現互動交流。開發互相關注功能前,需要明確核心需求:

  • 用戶可以關注其他用戶,方便查看其動態。
  • 用戶能查看自己關注的用戶列表,並且可以取消關注。
  • 用戶能查看關注自己的粉絲列表。
  • 主頁顯示已關注用戶的最新動態內容。

數據庫設計方案

為支持互相關注功能,需要設計相應數據庫結構:

  • 用戶表(user):包含用戶ID(user_id)、用戶名(username)、密碼(password)等基本信息。
  • 關注關係表(following):包含關注者ID(follower_id)、被關注者ID(followed_id)、關注時間(follow_time)等字段。

功能實現細節

用戶關注操作

$follower_id = $_GET['follower_id'];  // 獲取關注者ID
$followed_id = $_GET['followed_id'];  // 獲取被關注者ID
$follow_time = time();  // 獲取當前時間

$sql = "INSERT INTO following (follower_id, followed_id, follow_time) VALUES ($follower_id, $followed_id, $follow_time)";
$result = mysqli_query($conn, $sql);

關注列表與粉絲列表查詢

$user_id = $_GET['user_id'];  // 獲取用戶ID

// 查詢關注列表
$sql1 = "SELECT * FROM following WHERE follower_id = $user_id";
$result1 = mysqli_query($conn, $sql1);

// 查詢粉絲列表
$sql2 = "SELECT * FROM following WHERE followed_id = $user_id";
$result2 = mysqli_query($conn, $sql2);

// 輸出關注列表
while ($row1 = mysqli_fetch_assoc($result1)) {
    $followed_id = $row1['followed_id'];
    $followed_user = mysqli_query($conn, "SELECT * FROM user WHERE user_id = $followed_id");
    $row = mysqli_fetch_assoc($followed_user);
    echo $row['username'];  // 輸出關注的用戶名
}

// 輸出粉絲列表
while ($row2 = mysqli_fetch_assoc($result2)) {
    $follower_id = $row2['follower_id'];
    $follower_user = mysqli_query($conn, "SELECT * FROM user WHERE user_id = $follower_id");
    $row = mysqli_fetch_assoc($follower_user);
    echo $row['username'];  // 輸出粉絲的用戶名
}

動態內容展示

$user_id = $_GET['user_id'];  // 獲取用戶ID

// 查詢關注列表
$sql = "SELECT * FROM following WHERE follower_id = $user_id";
$result = mysqli_query($conn, $sql);

// 輸出動態列表
while ($row = mysqli_fetch_assoc($result)) {
    $followed_id = $row['followed_id'];
    $dynamic = mysqli_query($conn, "SELECT * FROM dynamic WHERE user_id = $followed_id ORDER BY dynamic_time DESC LIMIT 10");
    while ($row = mysqli_fetch_assoc($dynamic)) {
        echo $row['content'];  // 輸出動態內容
    }
}

總結

互相關注功能的實現核心在於對數據庫的增刪查操作,通過設計合理的數據庫結構和編寫相應的PHP代碼,可以實現用戶之間的關注關係管理及動態內容展示。開發者可以根據業務需求,進一步擴展該功能,比如添加通知提醒、關注分組等。本文的示例代碼為初步實現提供了清晰的思路,便於開發者快速集成到自己的項目中。