随着社交网络的不断普及,互相关注成为连接用户的重要功能。用户通过关注对方,可以实时获取对方的动态信息,实现互动交流。开发互相关注功能前,需要明确核心需求:
为支持互相关注功能,需要设计相应数据库结构:
$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代码,可以实现用户之间的关注关系管理及动态内容展示。开发者可以根据业务需求,进一步扩展该功能,比如添加通知提醒、关注分组等。本文的示例代码为初步实现提供了清晰的思路,便于开发者快速集成到自己的项目中。