본문 바로가기
길이 없으면
👥
총 방문자
📖
0개 이상
총 포스팅
🧑
오늘 방문자 수
📅
0일째
블로그 운영

여러분의 방문을 환영해요! 🎉

다양한 개발 지식을 쉽고 재미있게 알려드리는 블로그가 될게요. 함께 성장해요! 😊

프로젝트/php 미니 프로젝트

[php] 투두리스트 데이터를 추가해보자

by 꽁이꽁설꽁돌 2024. 5. 15.
728x90
반응형

목차

  1. 완성된 모습
  2. 투두리스트 페이지
  3. 삭제하기 위한 php링크 (DeleteTask.php)

 

완성된 모습

투두 리스트를 구현해 mysql 데이터에 넣어주었다..

 

 

데이터가 잘 들어간 모습

 

 

투두리스트 페이지

cpp
<?php
session_unset();
session_start(); 
// 데이터베이스 연결
$db = mysqli_connect('localhost', 'root', '', 'userdata') or die ('Unable to connect. Check your connection parameters.');

// 추가 버튼이 클릭되었을 때 데이터 삽입
if(isset($_POST['submit'])){
    $task = $_POST['toDo'];
    $category = $_POST['Category'];
    $id = $_SESSION['Login_id'];
    $time = date("Y-m-d H:i:s");
    $query = "INSERT INTO todotable (Login_todo_id, User_category, User_task, Create_date) VALUES ('$id','$category', '$task', '$time')";
    mysqli_query($db, $query) or die(mysqli_error($db));
    header("Location:UserWriteTodoList.php");
    exit;
}

?>

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Developer-community-login-page</title>
    <link rel="stylesheet" href="reset.css" />
    <link rel="stylesheet" href="UserWriteTodoList.css" />
    <script type="text/javascript" src="TodoAdd.js"></script>
</head>

<body>
    <header>
        <div class="header-wrap">
            <div class="main-log">
                <img class="header-img" src="./img/sejonglogo.png" alt="LogoImg">
            </div>
            <div>
                <?php
                // 세션에 저장된 데이터 확인
                if(isset($_SESSION['Login_id'])) {
                    echo $_SESSION['Login_id'];
                } else {
                    echo "세션에 로그인 정보가 없습니다.";
                }
                ?>
            </div>
        </div>
    </header>
    <div class="content-wrap">
        <div class="login-wrap">
            <div class="login-head">
                Todo-List
            </div>
                <div class="input-wrap">
                    <input type="text" name="Category" placeholder="카테고리">
                    <input type="text" name="toDo" placeholder="할 일 추가하기">
                    <button type="submit" class="addButton" name="submit">추가</button>
                </div>
            <?php
            // 데이터베이스에서 해당 사용자의 투두리스트 불러오기
            $query = "SELECT * FROM todotable WHERE Login_todo_id='{$_SESSION['Login_id']}'";
            $result = mysqli_query($db, $query);
            // 투두리스트 항목 출력
            while ($row = mysqli_fetch_assoc($result)) {
                echo "<div class='toDoList'>";
                echo "<input type='checkbox' name='completed[]'>";
                echo "<span>{$row['User_task']}</span>";
                echo "<div class='delete'>";
                echo "<a href='DeleteTask.php?num={$row['User_task']}'>삭제</a>";
                //데이터 삭제 버튼구현 방안
                echo "</div>";
                echo "</div>";
            }
            ?>
            <img class="content-img" src="./img/sejongwhite.png" alt="LogoImg">
        </div>

</html>

주요 로직만 참고하고자 코드를 많이 생략했다.

 

삭제하기 위한 php링크 (DeleteTask.php)

cpp
<?php
session_start();

// 데이터베이스 연결
$db = mysqli_connect('localhost', 'root', '', 'userdata') or die ('Unable to connect. Check your connection parameters.');

// 삭제할 항목의 User_task 값을 GET 방식으로 받아옵니다.
$task_to_delete = $_GET['num'];

// 해당 User_task 값을 가진 레코드를 데이터베이스에서 삭제합니다.
$query = "DELETE FROM todotable WHERE User_task='$task_to_delete' AND Login_todo_id='{$_SESSION['Login_id']}'";
mysqli_query($db, $query) or die(mysqli_error($db));
header("Location:UserWriteTodoList.php");
exit;

?>

 

삭제하기 위한 로직으로 그 링크에 접속해서 데이터를 삭제해준 후 header로 리다이렉션 해준다.

반응형