php 게시글에 1일 3일 7일 14일 21일 30일 무기한 자동삭제
본문 바로가기
IT정보

php 게시글에 1일 3일 7일 14일 21일 30일 무기한 자동삭제

by AICanvas 2023. 6. 7.
728x90
SMALL

데이타베이스 설정 

CREATE TABLE posts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    content VARCHAR(255),
    created_at DATETIME
);

게시글작성

<?php
// 데이터베이스 연결 설정
$host = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";

// 데이터베이스 연결
$conn = mysqli_connect($host, $username, $password, $database);
if (!$conn) {
    die("데이터베이스 연결 실패: " . mysqli_connect_error());
}

// 게시글 작성 함수
function createPost($content) {
    global $conn;
    $createdAt = date("Y-m-d H:i:s");

    $query = "INSERT INTO posts (content, created_at) VALUES ('$content', '$createdAt')";
    if (mysqli_query($conn, $query)) {
        echo "게시글이 작성되었습니다.";
    } else {
        echo "게시글 작성 실패: " . mysqli_error($conn);
    }
}

// 예시 게시글 작성
createPost("첫 번째 게시글");
?>

스크립트

<?php
// 데이터베이스 연결 설정
$host = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";

// 데이터베이스 연결
$conn = mysqli_connect($host, $username, $password, $database);
if (!$conn) {
    die("데이터베이스 연결 실패: " . mysqli_connect_error());
}

// 설정된 기간이 지난 게시글 삭제 함수
function deleteExpiredPosts() {
    global $conn;
    $currentDate = date("Y-m-d H:i:s");

    $query = "DELETE FROM posts WHERE created_at < DATE_SUB('$currentDate', INTERVAL 30 DAY)";
    if (mysqli_query($conn, $query)) {
        echo "지난 게시글이 삭제되었습니다.";
    } else {
        echo "게시글 삭제 실패: " . mysqli_error($conn);
    }
}

// 설정된 기간이 지난 게시글 삭제 실행
deleteExpiredPosts();
?>

위의 예제에서는 createPost() 함수를 사용하여 게시글을 작성하고, deleteExpiredPosts() 함수를 사용하여 설정된 기간이 지난 게시글을 삭제합니다. 

728x90
LIST

댓글