현대 소셜 미디어 응용 프로그램에서 친구 관계 관리 기능은 사용자 상호 작용의 핵심입니다. 이 기능을 통해 사용자는 친구를 쉽게 추가하고 친구 목록을보고 메시지를 보낼 수 있습니다. 이 기사에서는 PHP를 사용하여 이러한 기능을 구현하고 샘플 코드를 통해 자세히 설명하는 방법을 소개합니다.
먼저 사용자 정보 및 친구 관계를 저장하기 위해 데이터베이스를 설계해야합니다. 일반적으로`사용자 '와'친구 '라는 두 개의 테이블을 만들 수 있습니다.
'사용자'테이블은 사용자 ID, 사용자 이름 및 비밀번호를 포함한 사용자에 대한 기본 정보를 저장하는 데 사용됩니다. 다음은 '사용자'테이블을 작성하기위한 샘플 코드입니다.
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
'친구'테이블은 두 사용자의 ID와 친구 관계의 상태 (예 : 확인, 확인 등)를 포함하여 친구 관계를 저장하는 데 사용됩니다. 다음은 '친구'테이블을 만들기위한 샘플 코드입니다.
CREATE TABLE friends (
user_id1 INT(11) NOT NULL,
user_id2 INT(11) NOT NULL,
status INT(1) DEFAULT 0,
PRIMARY KEY (user_id1, user_id2),
FOREIGN KEY (user_id1) REFERENCES users(id),
FOREIGN KEY (user_id2) REFERENCES users(id)
);
친구 추가 기능을 구현하려면 먼저 사용자가 입력 한 친구 사용자 이름이 존재하는지 확인해야합니다. 사용자 이름이 입력되었다고 가정하고 SQL 쿼리를 통해 사용자가 존재하는지 확인합니다.
$friendUsername = $_POST['friend_username'];
$friend = mysqli_fetch_assoc(mysqli_query("SELECT id FROM users WHERE username = '$friendUsername'"));
if ($friend) {
// 친구가 존재합니다,친구를 추가 할 수 있습니다
} else {
// 친구는 존재하지 않습니다,다시 입력하십시오
}
친구가 존재하는 경우 친구 관계를 '친구'테이블에 삽입하십시오.
$userID = $_SESSION['user_id'];
$friendID = $friend['id']; // 이전 단계에서 찾은 친구ID
mysqli_query("INSERT INTO friends (user_id1, user_id2, status) VALUES ('$userID', '$friendID', 0)");
if (mysqli_affected_rows() > 0) {
// 친구들이 성공적으로 추가되었습니다
} else {
// 친구들이 추가하지 못했습니다,나중에 다시 시도하십시오
}
사용자는 친구 목록을 탐색하여 친구를보고 관리 할 수 있습니다. 다음은 사용자 친구 목록을 얻기위한 샘플 코드입니다.
$userID = $_SESSION['user_id'];
$friends = mysqli_query("SELECT users.username
FROM friends
JOIN users ON friends.user_id2 = users.id
WHERE friends.user_id1 = '$userID' AND friends.status = 1");
while ($friend = mysqli_fetch_assoc($friends)) {
echo $friend['username'] . "<br>";
}
사용자는 친구에게 메시지를 보낼 수 있습니다. 이 기능을 구현하려는 코드는 다음과 같습니다.
$userID = $_SESSION['user_id'];
$friendUsername = $_POST['friend_username'];
$message = $_POST['message'];
$friend = mysqli_fetch_assoc(mysqli_query("SELECT id FROM users WHERE username = '$friendUsername'"));
if ($friend) {
$friendID = $friend['id'];
mysqli_query("INSERT INTO messages (sender_id, receiver_id, message)
VALUES ('$userID', '$friendID', '$message')");
if (mysqli_affected_rows() > 0) {
// 메시지는 성공적으로 전송되었습니다
} else {
// 메시지 보내는 메시지가 실패했습니다,나중에 다시 시도하십시오
}
} else {
// 친구는 존재하지 않습니다,다시 입력하십시오
}
이 기사의 코드 예제를 통해 PHP를 사용하여 기본 친구 관계 관리 기능을 구현하는 방법을 알 수 있습니다. 물론, 입력 검증, SQL 주입 보호 등과 같은 실제 응용 프로그램에는 자세한 내용 및 보안 고려 사항이 포함됩니다.이 기사가 개발자가 소셜 미디어 응용 프로그램에서 친구 관계 관리 기능을 더 잘 이해하고 구현할 수 있기를 바랍니다.