現代社会において、注文システムは大衆向けケータリング業界にとって不可欠な要素となっており、人々は料理の品質と味を求めるだけでなく、配送プロセス中の簡単な追跡も求めています。 . 食事の配達日時、配達場所の情報。 MySQLデータベースは拡張性と安定性に優れ、様々な業界で広く利用されており、本稿では、MySQLデータベースを利用して、ユーザーの配送ニーズに応える受発注システムの配送追跡機能を実装する方法を紹介します。
1. データ テーブルの設計
MySQL データベースでは、データ テーブルはデータを編成および保存するための基本単位です。注文システムの配送追跡機能では、次のデータ テーブルを設計できます:
フィールド名 | データ型 | 長さ | 説明 |
---|---|---|---|
int | 10 | 注文番号 | |
varchar | 20 | 顧客名 | |
varchar | 11 | お客様の電話番号 | |
varchar | 100 | 配送先住所 | |
int | 1 | 注文ステータス (0: 未配送、1: 配送済み) | |
datetime | 0 | 次のシングルtime | |
datetime | 0 | delivery time | |
10 進数 | #10, 2 | 合計注文金額 |
データ型 | 長さ | 説明 | |
---|---|---|---|
int | 10 | 食事番号 | |
varchar | 20 | 食事名 | |
10進数 | 10, 2 | 食事単価 | |
varchar | 20 | 食事カテゴリ |
##説明 | #id | int | |
---|---|---|---|
order_id | int | 10 | |
dish_id | int | 10 | |
数量 | int | 3 | |
小計 | 10進数 | 10, 2 | |
#2 . データベース操作 | データベース接続 |
// 数据库连接参数 $host = 'localhost'; // 数据库主机地址 $user = 'root'; // 数据库用户名 $password = ''; // 数据库密码 $dbname = 'order_system'; // 数据库名称 // 连接数据库 $conn = mysqli_connect($host, $user, $password, $dbname); if (!$conn) { die('数据库连接失败!' . mysqli_connect_error()); }
クエリ順序情報
// 查询已配送的订单信息 $sql = "SELECT o.*, SUM(d.price * od.quantity) AS total_price FROM orders o LEFT JOIN order_details od ON o.id = od.order_id LEFT JOIN dishes d ON od.dish_id = d.id WHERE o.status = '1' GROUP BY o.id ORDER BY o.delivery_time DESC"; $result = mysqli_query($conn, $sql);注文ステータスの更新
// 更新订单状态 $order_id = $_POST['order_id']; // 获取订单编号 $sql = "UPDATE orders SET status = '1' WHERE id = $order_id"; if (mysqli_query($conn, $sql)) { // 更新成功 echo '1'; } else { // 更新失败 echo '0'; }
3. ページの実装
When注文 システムのバックグラウンド管理ページでは、配送されたすべての注文情報を表示し、注文ステータスを変更するための操作ボタンを追加できます。次のコードは、配信された注文リストの HTML コードを示しています。
<table> <thead> <tr> <th>订单编号</th> <th>客户姓名</th> <th>客户手机号</th> <th>配送地址</th> <th>订单总价</th> <th>下单时间</th> <th>配送日期</th> <th>配送时间</th> <th>操作</th> </tr> </thead> <tbody> <?php while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row['id'] . '</td>'; echo '<td>' . $row['customer'] . '</td>'; echo '<td>' . $row['phone'] . '</td>'; echo '<td>' . $row['address'] . '</td>'; echo '<td>' . $row['total_price'] . '</td>'; echo '<td>' . $row['create_time'] . '</td>'; echo '<td>' . date('Y-m-d', strtotime($row['delivery_time'])) . '</td>'; echo '<td>' . date('H:i', strtotime($row['delivery_time'])) . '</td>'; echo '<td><button class="delivered-btn" data-order-id="' . $row['id'] . '">已送达</button></td>'; echo '</tr>'; } ?> </tbody> </table>Order status update
// 订单状态更新 $(document).on('click', '.delivered-btn', function () { var order_id = $(this).attr('data-order-id'); // 获取订单编号 $.ajax({ url: 'update_order_status.php', method: 'POST', data: {order_id: order_id}, success: function (res) { if (res === '1') { // 更新成功 alert('订单状态已更新!'); location.reload(); // 刷新页面 } else { // 更新失败 alert('订单状态更新失败!'); } } }); });
4. 概要
以上がMySQL は注文システムの配送追跡機能を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。