如何使用PHP實作一個簡單的線上訂單管理系統
一、簡介
線上訂單管理系統是一種常見的電商應用,它可以幫助商家有效管理訂單流程、加快訂單處理速度、提升客戶滿意度。本文將介紹如何使用PHP實現一個簡單的線上訂單管理系統,包括實現訂單的建立、修改、查詢和刪除等功能。本文假設讀者已經具備一定的PHP基礎知識。
二、系統需求
線上訂單管理系統需要滿足以下基本需求:
三、 實作步驟
#首先,我們需要建立一個資料庫來儲存訂單資料。使用下列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 );
在專案的根目錄下建立一個名為「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>
此頁麵包含一個簡單的登入表單,當使用者名稱和密碼正確時,會將登入狀態儲存到session中,並跳到訂單清單頁面。
在專案的根目錄下建立一個名為「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表格中。每行顯示訂單號碼、客戶姓名、訂單金額、建立時間以及連結用於查看訂單的詳情。
在專案的根目錄下建立名為「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頁面中。頁面上還包含編輯訂單和刪除訂單的連結。
在專案的根目錄下建立一個名為「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>
該頁面首先檢查登入狀態,如果使用者未登錄,則跳到登入頁面。然後,它會在提交訂單表單時,將訂單資訊儲存到資料庫中。
編輯訂單功能的實作和建立訂單類似,只需將以下程式碼新增至「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的訂單,並跳到訂單清單頁面。
四、總結
本文介紹如何使用PHP實作一個簡單的線上訂單管理系統,包括實作訂單的建立、修改、查詢和刪除等功能。透過本文的範例程式碼,讀者可以學習如何利用PHP和MySQL實現一個簡單的電商應用,為商家提供更有效率的訂單管理方式。當然,這只是一個基礎的範例,在實際應用中還需要考慮更多的功能和安全性。希望本文對讀者有幫助,謝謝閱讀!
以上是如何使用PHP實現一個簡單的線上訂單管理系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!