Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melaksanakan sistem pengurusan pesanan dalam talian yang mudah menggunakan PHP

Bagaimana untuk melaksanakan sistem pengurusan pesanan dalam talian yang mudah menggunakan PHP

WBOY
WBOYasal
2023-09-25 11:13:022223semak imbas

Bagaimana untuk melaksanakan sistem pengurusan pesanan dalam talian yang mudah menggunakan PHP

Cara menggunakan PHP untuk melaksanakan sistem pengurusan pesanan dalam talian yang mudah

1. Pengenalan

Sistem pengurusan pesanan dalam talian ialah aplikasi e-dagang biasa yang boleh membantu peniaga menguruskan proses pesanan dengan berkesan, mempercepatkan pemprosesan pesanan, dan meningkatkan kepuasan pelanggan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan sistem pengurusan pesanan dalam talian yang mudah, termasuk penciptaan, pengubahsuaian, pertanyaan dan pemadaman pesanan. Artikel ini menganggap bahawa pembaca sudah mempunyai pengetahuan asas tentang PHP.

2. Keperluan Sistem

Sistem pengurusan pesanan dalam talian perlu memenuhi keperluan asas berikut:

  1. Fungsi log masuk: Pentadbir boleh log masuk ke sistem melalui nama pengguna dan kata laluan.
  2. Fungsi pengurusan pesanan: Pentadbir boleh membuat, mengubah suai, bertanya dan memadam pesanan.
  3. Fungsi senarai pesanan: Pentadbir boleh melihat senarai pesanan, menapis dan mengisih mengikut syarat.
  4. Fungsi butiran pesanan: Pentadbir boleh melihat butiran pesanan, termasuk nombor pesanan, maklumat pelanggan, maklumat produk, dll.
  5. Sokongan pangkalan data: Sistem perlu menggunakan pangkalan data MySQL untuk menyimpan data pesanan.

3. Langkah pelaksanaan

  1. Buat pangkalan data

Pertama, kita perlu mencipta pangkalan data untuk menyimpan data pesanan. Gunakan pernyataan SQL berikut untuk mencipta pangkalan data bernama "pesanan" dan buat jadual data bernama "order_info" untuk menyimpan maklumat pesanan.

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. Buat halaman log masuk

Buat fail yang dipanggil "index.php" dalam direktori akar projek dan tambahkan kod berikut:

<?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>

Halaman tersebut mengandungi borang log masuk mudah yang apabila nama pengguna dan kata laluan adalah betul , status log masuk akan disimpan ke sesi dan melompat ke halaman senarai pesanan.

  1. Buat halaman senarai pesanan

Buat fail bernama "order_list.php" dalam direktori akar projek dan tambah kod berikut:

<?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>

Halaman itu mula-mula menyemak status log masuk dan melompat jika pengguna tidak dilog dalam Pergi ke halaman log masuk. Seterusnya, ia menanyakan senarai pesanan daripada pangkalan data dan memaparkannya dalam jadual HTML. Setiap baris memaparkan nombor pesanan, nama pelanggan, jumlah pesanan, masa pembuatan dan pautan untuk melihat butiran pesanan.

  1. Buat halaman butiran pesanan

Buat fail bernama "order_details.php" dalam direktori akar projek dan tambahkan kod berikut:

<?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>

Halaman itu mula-mula menyemak status log masuk dan id pesanan, jika pengguna sedang tidak dilog masuk Atau jika id pesanan tidak diluluskan, ia akan melompat ke halaman senarai pesanan. Seterusnya, ia menanyakan butiran pesanan daripada pangkalan data dan memaparkannya dalam halaman HTML. Halaman ini juga mengandungi pautan untuk mengedit pesanan dan memadam pesanan.

  1. Buat halaman pesanan buat

Buat fail bernama "create_order.php" dalam direktori akar projek dan tambah kod berikut:

<?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>

Halaman itu mula-mula menyemak status log masuk dan melompat jika pengguna tidak dilog dalam Pergi ke halaman log masuk. Ia kemudian menyimpan maklumat pesanan ke pangkalan data apabila borang pesanan diserahkan.

  1. Buat halaman edit pesanan dan padam fungsi pesanan

Pelaksanaan fungsi pesanan edit adalah serupa dengan cara membuat pesanan Cuma tambah kod berikut pada halaman "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>

Pelaksanaan. fungsi padam pesanan adalah serupa, cuma Tambah kod berikut pada halaman "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();
?>

Halaman ini mula-mula menyemak status log masuk dan id pesanan Jika pengguna tidak log masuk atau id pesanan tidak diluluskan, ia melompat ke halaman senarai pesanan. Kemudian, ia memadamkan pesanan dengan id yang ditentukan daripada pangkalan data dan melompat ke halaman senarai pesanan.

4. Ringkasan
Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan sistem pengurusan pesanan dalam talian yang mudah, termasuk penciptaan, pengubahsuaian, pertanyaan dan pemadaman pesanan. Melalui kod sampel dalam artikel ini, pembaca boleh mempelajari cara menggunakan PHP dan MySQL untuk melaksanakan aplikasi e-dagang yang mudah untuk menyediakan peniaga kaedah pengurusan pesanan yang lebih cekap. Sudah tentu, ini hanyalah contoh asas, dan lebih banyak fungsi dan keselamatan perlu dipertimbangkan dalam aplikasi sebenar. Saya harap artikel ini bermanfaat kepada pembaca, terima kasih kerana membaca!

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sistem pengurusan pesanan dalam talian yang mudah menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn