>  기사  >  데이터 베이스  >  MySQL은 주문 시스템의 배송 추적 기능을 구현합니다.

MySQL은 주문 시스템의 배송 추적 기능을 구현합니다.

WBOY
WBOY원래의
2023-11-01 15:31:531218검색

MySQL 实现点餐系统的配送跟踪功能

현대 사회에서 주문 시스템은 음식의 질과 맛뿐만 아니라 배달 날짜, 시간 및 날짜를 ​​쉽게 추적할 수 있어야 하는 필수 요소가 되었습니다. 배송 과정 중 음식의 배송 위치 및 기타 정보. MySQL 데이터베이스는 확장성과 안정성이 뛰어나 다양한 산업 분야에서 널리 사용되고 있습니다. 이 기사에서는 사용자의 배송 요구 사항을 충족하기 위해 MySQL 데이터베이스를 사용하여 주문 시스템의 배송 추적 기능을 구현하는 방법을 소개합니다.

1. 데이터 테이블 디자인

MySQL 데이터베이스에서 데이터 테이블은 데이터를 구성하고 저장하는 기본 단위입니다. 순서 시스템의 전달 추적 기능을 위해 다음 데이터 테이블을 설계 할 수 있습니다. id

    int
  1. 10
주문 번호customervarchar20고객 이름phonevarchar11고객 전화번호 주소varchar 100 배송지 주소statusint1주문 상태(0: 미배송, 1: 배송됨)create_timedatetime0 주문시간delivery_timedatetime0delivery timetotal_pricedecimal10, 2총 주문 가격 s(요리) 필드 이름 데이터 유형lengthdescriptionid
    int
  1. 10
item numbernamevarchar20 Me 알 이름가격 십진수 10, 2식사 단가categoryvarchar20식사 카테고리주문 세부정보(order_details) 필드 이름데이터 유형길이설명id
    int
  1. 10
상세 번호order_idint10주문 번호dish_idint10식사번호데이터베이스 연결
// 数据库连接参数
$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);
Update order status
// 更新订单状态
$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';
}
주문 목록 페이지
<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운영자가 "Delivered" 버튼을 클릭하면 주문 상태를 업데이트하고 동적으로 업데이트하기 위해 AJAX 요청이 서버로 전송되어야 합니다. 페이지에서 주문 상태의 변경 사항을 표시합니다. 다음 코드는 AJAX 요청의 JavaScript 코드를 보여줍니다:
// 订单状态更新
$(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('订单状态更新失败!');
            }
        }
    });
});
ㅋㅋㅋ . 데이터베이스 운영
PHP 사용 MySQL 데이터베이스 연결 언어:
주문 배송 상태가 변경되면 데이터베이스의 주문 상태를 적시에 업데이트해야 합니다. 다음 코드는 주문 상태를 "배송됨"으로 업데이트하는 데 사용됩니다. 3. 페이지 구현
주문 시스템의 백그라운드 관리 페이지에서 모든 주문 정보를 표시할 수 있습니다. 배송되었으며 주문 상태를 수정하는 작업 버튼이 포함되어 있습니다. 다음 코드는 배송된 주문 목록의 HTML 코드를 보여줍니다.
IV. 요약 MySQL 데이터베이스를 사용하여 주문 시스템의 배송 추적 기능을 구현하는 프로세스에는 데이터베이스 테이블 설계와 쿼리가 포함됩니다. 그리고 주문 정보 업데이트. 동시에 페이지에 주문 정보를 표시하고 동적 주문 상태 업데이트를 구현해야 합니다. 위 내용은 기본적인 구현 아이디어를 제공하며, 독자는 실제 필요와 비즈니스 로직에 따라 적절하게 확장하고 수정할 수 있습니다.

위 내용은 MySQL은 주문 시스템의 배송 추적 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.