>백엔드 개발 >PHP 튜토리얼 >PHP 개발: 함수와 같은 기사를 구현하는 방법

PHP 개발: 함수와 같은 기사를 구현하는 방법

王林
王林원래의
2023-09-20 14:24:301311검색

PHP 개발: 함수와 같은 기사를 구현하는 방법

PHP 개발: 기사 좋아요 기능을 구현하려면 구체적인 코드 예제가 필요합니다

소개:
현대 소셜 네트워크와 웹 애플리케이션에서 좋아요 기능은 일반적인 소셜 상호 작용 기능이 되었습니다. 뉴스, 웨이보, 블로그, 커뮤니티 포럼 등 사용자는 콘텐츠에 좋아요를 눌러 해당 콘텐츠에 대한 사랑과 지지를 표현할 수 있습니다. 이 기사에서는 PHP를 사용하여 함수와 같은 기사를 개발 및 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. 데이터베이스 구조 설계
기사와 같은 기능 구현을 시작하기 전에 먼저 데이터베이스 구조를 설계해야 합니다. 두 개의 테이블을 생성할 수 있습니다. 하나는 기사 정보를 저장하고 다른 하나는 유사한 정보를 저장합니다.

  1. 기사 테이블(기사)
    Field:
  2. id: 기사 ID(기본 키)
  3. title: 기사 제목
  4. content: 기사 내용
  5. 좋아요 테이블(좋아요)
    Field:
  6. id: 좋아요 ID( Primary key)
  7. article_id : 좋아요를 누른 사용자의 ID
  8. user_id : 좋아요를 누른 사용자의 ID

2. 좋아요 기능을 구현하기 위한 백엔드 로직
좋아요 기능을 구현하기 위한 백엔드 로직 주로 두 부분으로 구성됩니다. '좋아요 추가'와 '닮지 않음'입니다.

  1. 좋아요 추가
    사용자가 기사의 좋아요 버튼을 클릭하면 백엔드에서 다음 작업을 수행해야 합니다.
  • 사용자가 기사에 이미 좋아요를 표시했는지 확인하려면 다음을 통해 관련 기록이 있는지 확인할 수 있습니다. 좋아요 테이블을 쿼리하는 중입니다.
  • 이미 게시물에 좋아요를 누른 경우 아무런 조치도 취하지 않습니다.
  • 사용자가 기사에 좋아요를 표시하지 않은 경우 좋아요 테이블에 새 기록을 삽입하세요.

PHP 코드 예:

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 获取文章ID和用户ID
$articleId = $_POST['articleId'];
$userId = $_POST['userId'];

// 查询点赞表
$query = "SELECT * FROM like WHERE article_id = $articleId AND user_id = $userId";
$result = mysqli_query($conn, $query);

// 判断是否已经点赞过该文章
if (mysqli_num_rows($result) > 0) {
    // 用户已经点赞过该文章,不执行任何操作
} else {
    // 用户没有点赞过该文章,插入一条新记录
    $insertQuery = "INSERT INTO like (article_id, user_id) VALUES ($articleId, $userId)";
    mysqli_query($conn, $insertQuery);
}

// 关闭数据库连接
mysqli_close($conn);
?>
  1. Cancel like
    사용자가 좋아요를 취소하면 백엔드는 다음 작업을 수행해야 합니다.
  • 사용자가 기사에 좋아요를 표시했는지 확인하려면 좋아요 테이블을 쿼리할 수 있습니다. 관련 기록이 존재하는지 확인합니다.
  • 사용자가 기사에 좋아요를 표시하지 않은 경우 아무런 조치도 취하지 않습니다.
  • 이미 게시물에 좋아요를 누른 경우 좋아요표에서 해당 기록이 삭제됩니다.

PHP 코드 예:

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 获取文章ID和用户ID
$articleId = $_POST['articleId'];
$userId = $_POST['userId'];

// 查询点赞表
$query = "SELECT * FROM like WHERE article_id = $articleId AND user_id = $userId";
$result = mysqli_query($conn, $query);

// 判断是否已经点赞过该文章
if (mysqli_num_rows($result) > 0) {
    // 用户已经点赞过该文章,删除相关记录
    $deleteQuery = "DELETE FROM like WHERE article_id = $articleId AND user_id = $userId";
    mysqli_query($conn, $deleteQuery);
} else {
    // 用户没有点赞过该文章,不执行任何操作
}

// 关闭数据库连接
mysqli_close($conn);
?>

3. 좋아요 기능의 프런트 엔드 구현
프런트 엔드 페이지에 좋아요 버튼을 추가하고 Ajax를 사용하여 비동기 요청을 보낼 수 있습니다.

HTML 코드 예:

<button class="like-button" data-article-id="1">点赞</button>

JavaScript 코드 예:

// 点赞按钮点击事件
$(".like-button").on("click", function() {
    var articleId = $(this).data("article-id");
    var userId = 1; // 假设用户ID为1

    // 发送异步请求到后端
    $.ajax({
        type: "POST",
        url: "like.php",
        data: { articleId: articleId, userId: userId },
        success: function(response) {
            // 更新点赞按钮状态
            $(this).addClass("active");
            alert("点赞成功!");
        }
    });
});

IV. 요약
위의 구현 단계를 통해 PHP 개발에서 함수와 같은 기사를 구현할 수 있습니다. 백엔드 로직 작성부터 프런트엔드 상호작용 구현까지 사용자가 기사를 좋아하고 인터페이스에 대한 피드백을 받는 효과를 얻을 수 있습니다. 이 글이 PHP 개발에서 like 함수를 구현하는데 도움이 되기를 바랍니다.

특별 참고 사항:
이 문서의 코드 예제는 참고용일 뿐입니다. 코드의 보안과 성능을 보장하려면 실제 개발 과정에서 특정 상황에 따라 적절하게 수정하고 최적화하세요.

위 내용은 PHP 개발: 함수와 같은 기사를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.