PHP를 사용하여 간단한 온라인 주문 관리 시스템을 구현하는 방법

WBOY
풀어 주다: 2023-09-25 11:50:01
원래의
2127명이 탐색했습니다.

PHP를 사용하여 간단한 온라인 주문 관리 시스템을 구현하는 방법

PHP를 사용하여 간단한 온라인 주문 관리 시스템을 구현하는 방법

1. 소개

온라인 주문 관리 시스템은 판매자가 주문 프로세스를 효과적으로 관리하고 주문 처리 속도를 높이는 데 도움이 되는 일반적인 전자 상거래 애플리케이션입니다. 고객 만족도를 향상시킵니다. 이 기사에서는 PHP를 사용하여 주문 생성, 수정, 쿼리 및 삭제를 포함한 간단한 온라인 주문 관리 시스템을 구현하는 방법을 소개합니다. 이 기사에서는 독자가 이미 PHP에 대한 기본 지식을 가지고 있다고 가정합니다.

2. 시스템 요구 사항

온라인 주문 관리 시스템은 다음 기본 요구 사항을 충족해야 합니다.

  1. 로그인 기능: 관리자는 사용자 이름과 비밀번호를 통해 시스템에 로그인할 수 있습니다.
  2. 주문 관리 기능: 관리자는 주문을 생성, 수정, 조회, 삭제할 수 있습니다.
  3. 주문 목록 기능: 관리자는 주문 목록을 확인하고 조건별로 필터링 및 정렬할 수 있습니다.
  4. 주문 세부정보 기능: 관리자는 주문번호, 고객정보, 제품정보 등 주문 세부정보를 확인할 수 있습니다.
  5. 데이터베이스 지원: 시스템은 주문 데이터를 저장하기 위해 MySQL 데이터베이스를 사용해야 합니다.

3. 구현 단계

  1. 데이터베이스 생성

먼저 주문 데이터를 저장할 데이터베이스를 생성해야 합니다. 다음 SQL 문을 사용하여 "orders"라는 데이터베이스를 생성하고 "order_info"라는 데이터 테이블을 생성하여 주문 정보를 저장합니다.

CREATE DATABASE orders;
USE orders;

CREATE TABLE order_info (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    order_number VARCHAR(20) NOT NULL,
    customer_name VARCHAR(50) NOT NULL,
    total_price DECIMAL(10,2) NOT NULL,
    create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
로그인 후 복사
  1. 로그인 페이지 만들기

프로젝트의 루트 디렉터리에 "index.php"라는 파일을 만들고 다음 코드를 추가하세요.

<?php
session_start();

if(isset($_POST['username']) && isset($_POST['password'])){
    if($_POST['username'] === 'admin' && $_POST['password'] === 'admin'){
        $_SESSION['login'] = true;
        header('Location: order_list.php');
        exit;
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>登录</title>
    <meta charset="UTF-8">
</head>
<body>
    <form method="POST" action="index.php">
        <input type="text" name="username" placeholder="用户名">
        <input type="password" name="password" placeholder="密码">
        <button type="submit">登录</button>
    </form>
</body>
</html>
로그인 후 복사

이 페이지에는 사용자 이름과 비밀번호를 입력하는 간단한 로그인 양식이 포함되어 있습니다. 정확하면 로그인 상태가 세션에 저장되고 주문 목록 페이지로 이동합니다.

  1. 주문 목록 페이지 생성

프로젝트 루트 디렉터리에 "order_list.php"라는 파일을 생성하고 다음 코드를 추가하세요.

<?php
session_start();

if(!isset($_SESSION['login']) || $_SESSION['login'] !== true){
    header('Location: index.php');
    exit;
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>订单列表</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>订单列表</h1>
    <a href="create_order.php">创建新订单</a>
    <table>
        <tr>
            <th>订单号</th>
            <th>客户姓名</th>
            <th>订单金额</th>
            <th>创建时间</th>
            <th></th>
        </tr>
        <?php
        // 连接数据库
        $conn = new mysqli('localhost', 'root', 'password', 'orders');
        if ($conn->connect_error) {
            die('数据库连接失败:' . $conn->connect_error);
        }
        
        // 查询订单列表
        $sql = 'SELECT * FROM order_info ORDER BY create_time DESC';
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo '<tr>';
                echo '<td>'.$row['order_number'].'</td>';
                echo '<td>'.$row['customer_name'].'</td>';
                echo '<td>'.$row['total_price'].'</td>';
                echo '<td>'.$row['create_time'].'</td>';
                echo '<td><a href="order_details.php?id='.$row['id'].'">详情</a></td>';
                echo '</tr>';
            }
        } else {
            echo '<tr><td colspan="5">暂无订单信息</td></tr>';
        }
        
        $conn->close();
        ?>
    </table>
</body>
</html>
로그인 후 복사

페이지는 먼저 로그인 상태를 확인하고 사용자가 로그인되지 않으면 점프합니다. 로그인 페이지로 이동합니다. 다음으로 데이터베이스에서 주문 목록을 쿼리하여 HTML 테이블에 표시합니다. 각 행에는 주문 번호, 고객 이름, 주문 금액, 생성 시간 및 주문 세부 정보를 볼 수 있는 링크가 표시됩니다.

  1. 주문 세부정보 페이지 만들기

프로젝트 루트 디렉터리에 "order_details.php"라는 파일을 만들고 다음 코드를 추가하세요.

<?php
session_start();

if(!isset($_SESSION['login']) || $_SESSION['login'] !== true){
    header('Location: index.php');
    exit;
}

if(!isset($_GET['id'])){
    header('Location: order_list.php');
    exit;
}

$id = $_GET['id'];

// 连接数据库
$conn = new mysqli('localhost', 'root', 'password', 'orders');
if ($conn->connect_error) {
    die('数据库连接失败:' . $conn->connect_error);
}

// 查询订单详情
$sql = 'SELECT * FROM order_info WHERE id = '.$id;
$result = $conn->query($sql);

if ($result->num_rows == 0) {
    header('Location: order_list.php');
    exit;
}

$row = $result->fetch_assoc();
?>

<!DOCTYPE html>
<html>
<head>
    <title>订单详情</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>订单详情</h1>
    <p><strong>订单号:</strong><?php echo $row['order_number'];?></p>
    <p><strong>客户姓名:</strong><?php echo $row['customer_name'];?></p>
    <p><strong>订单金额:</strong><?php echo $row['total_price'];?></p>
    <p><strong>创建时间:</strong><?php echo $row['create_time'];?></p>
    <a href="edit_order.php?id=<?php echo $row['id'];?>">编辑订单</a>
    <a href="delete_order.php?id=<?php echo $row['id'];?>" onclick="return confirm('确认删除该订单吗?')">删除订单</a>
</body>
</html>
로그인 후 복사

페이지에서는 먼저 로그인 상태와 주문 ID를 확인합니다. 로그인되지 않았거나 주문 ID가 전달되지 않은 경우 주문 목록 페이지로 이동합니다. 다음으로 데이터베이스에서 주문 세부정보를 쿼리하여 HTML 페이지에 표시합니다. 이 페이지에는 주문을 편집하고 주문을 삭제할 수 있는 링크도 포함되어 있습니다.

  1. Create order 페이지 생성

프로젝트 루트 디렉터리에 "create_order.php"라는 파일을 생성하고 다음 코드를 추가하세요.

<?php
session_start();

if(!isset($_SESSION['login']) || $_SESSION['login'] !== true){
    header('Location: index.php');
    exit;
}

if(isset($_POST['submit'])){
    // 获取订单信息
    $order_number = $_POST['order_number'];
    $customer_name = $_POST['customer_name'];
    $total_price = $_POST['total_price'];

    // 连接数据库
    $conn = new mysqli('localhost', 'root', 'password', 'orders');
    if ($conn->connect_error) {
        die('数据库连接失败:' . $conn->connect_error);
    }

    // 创建订单
    $sql = 'INSERT INTO order_info (order_number, customer_name, total_price) VALUES ("'.$order_number.'", "'.$customer_name.'", '.$total_price.')';
    $result = $conn->query($sql);

    if($result === true){
        header('Location: order_list.php');
        exit;
    } else {
        die('创建订单失败:' . $conn->error);
    }

    $conn->close();
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>创建订单</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>创建订单</h1>
    <form method="POST" action="create_order.php">
        <input type="text" name="order_number" placeholder="订单号">
        <input type="text" name="customer_name" placeholder="客户姓名">
        <input type="number" step="0.01" name="total_price" placeholder="订单金额">
        <button type="submit" name="submit">创建订单</button>
    </form>
</body>
</html>
로그인 후 복사

페이지는 먼저 로그인 상태를 확인하고 사용자가 로그인되지 않으면 점프합니다. 로그인 페이지로 이동합니다. 그런 다음 주문 양식이 제출되면 주문 정보를 데이터베이스에 저장합니다.

  1. 주문 편집 페이지 생성 및 주문 삭제 기능

주문 편집 기능의 구현은 주문 생성과 유사합니다. "edit_order.php" 페이지에 다음 코드를 추가하세요.

<?php
session_start();

if(!isset($_SESSION['login']) || $_SESSION['login'] !== true){
    header('Location: index.php');
    exit;
}

if(!isset($_GET['id'])){
    header('Location: order_list.php');
    exit;
}

$id = $_GET['id'];

// 连接数据库
$conn = new mysqli('localhost', 'root', 'password', 'orders');
if ($conn->connect_error) {
    die('数据库连接失败:' . $conn->connect_error);
}

// 查询订单详情
$sql = 'SELECT * FROM order_info WHERE id = '.$id;
$result = $conn->query($sql);

if ($result->num_rows == 0) {
    header('Location: order_list.php');
    exit;
}

$row = $result->fetch_assoc();

if(isset($_POST['submit'])){
    // 获取订单信息
    $order_number = $_POST['order_number'];
    $customer_name = $_POST['customer_name'];
    $total_price = $_POST['total_price'];

    // 更新订单
    $sql = 'UPDATE order_info SET order_number = "'.$order_number.'", customer_name = "'.$customer_name.'", total_price = '.$total_price.' WHERE id = '.$id;
    $result = $conn->query($sql);

    if($result === true){
        header('Location: order_details.php?id='.$id);
        exit;
    } else {
        die('编辑订单失败:' . $conn->error);
    }

    $conn->close();
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>编辑订单</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>编辑订单</h1>
    <form method="POST" action="edit_order.php?id=<?php echo $row['id'];?>">
        <input type="text" name="order_number" placeholder="订单号" value="<?php echo $row['order_number'];?>">
        <input type="text" name="customer_name" placeholder="客户姓名" value="<?php echo $row['customer_name'];?>">
        <input type="number" step="0.01" name="total_price" placeholder="订单金额" value="<?php echo $row['total_price'];?>">
        <button type="submit" name="submit">保存修改</button>
    </form>
</body>
</html>
로그인 후 복사

구현 주문 삭제 기능도 비슷합니다. "delete_order.php" 페이지에 다음 코드를 추가하세요.

<?php
session_start();

if(!isset($_SESSION['login']) || $_SESSION['login'] !== true){
    header('Location: index.php');
    exit;
}

if(!isset($_GET['id'])){
    header('Location: order_list.php');
    exit;
}

$id = $_GET['id'];

// 连接数据库
$conn = new mysqli('localhost', 'root', 'password', 'orders');
if ($conn->connect_error) {
    die('数据库连接失败:' . $conn->connect_error);
}

// 删除订单
$sql = 'DELETE FROM order_info WHERE id = '.$id;
$result = $conn->query($sql);

if($result === true){
    header('Location: order_list.php');
    exit;
} else {
    die('删除订单失败:' . $conn->error);
}

$conn->close();
?>
로그인 후 복사

이 페이지에서는 먼저 로그인 상태와 주문 ID를 확인합니다. 사용자가 로그인하지 않았거나 주문 ID가 전달되지 않은 경우, 주문 목록 페이지로 이동합니다. 그런 다음 데이터베이스에서 지정된 ID를 가진 주문을 삭제하고 주문 목록 페이지로 이동합니다.

4. 요약
이 기사에서는 PHP를 사용하여 주문 생성, 수정, 쿼리 및 삭제를 포함한 간단한 온라인 주문 관리 시스템을 구현하는 방법을 소개합니다. 이 기사의 샘플 코드를 통해 독자는 PHP 및 MySQL을 사용하여 판매자에게 보다 효율적인 주문 관리 방법을 제공하는 간단한 전자 상거래 애플리케이션을 구현하는 방법을 배울 수 있습니다. 물론 이는 기본적인 예시일 뿐 실제 적용에서는 더 많은 기능과 보안을 고려해야 한다. 이 글이 독자들에게 도움이 되었으면 좋겠습니다. 읽어주셔서 감사합니다!

위 내용은 PHP를 사용하여 간단한 온라인 주문 관리 시스템을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!