현대 사회에서 주문 시스템은 음식의 질과 맛뿐만 아니라 배달 날짜, 시간 및 날짜를 쉽게 추적할 수 있어야 하는 필수 요소가 되었습니다. 배송 과정 중 음식의 배송 위치 및 기타 정보. MySQL 데이터베이스는 확장성과 안정성이 뛰어나 다양한 산업 분야에서 널리 사용되고 있습니다. 이 기사에서는 사용자의 배송 요구 사항을 충족하기 위해 MySQL 데이터베이스를 사용하여 주문 시스템의 배송 추적 기능을 구현하는 방법을 소개합니다.
1. 데이터 테이블 디자인
MySQL 데이터베이스에서 데이터 테이블은 데이터를 구성하고 저장하는 기본 단위입니다. 순서 시스템의 전달 추적 기능을 위해 다음 데이터 테이블을 설계 할 수 있습니다. id
int- 10
주문 번호
| customer | varchar | 20 | 고객 이름
phone | varchar | 11 | 고객 전화번호 |
주소 | varchar | 100 | 배송지 주소 |
status | int | 1 | 주문 상태(0: 미배송, 1: 배송됨) |
create_time | datetime | 0 | 주문시간 |
delivery_time | datetime | 0 | delivery time |
total_price | decimal | 10, 2 | 총 주문 가격 |
| s(요리) |
|
| 필드 이름
데이터 유형 | length | description |
|
id
int- 10
item number
| name | varchar | 20 | Me 알 이름
가격 | 십진수 | 10, 2 | 식사 단가 |
category | varchar | 20 | 식사 카테고리 |
| 주문 세부정보(order_details) |
|
| 필드 이름
데이터 유형 | 길이 | 설명 |
|
id
int- 10
상세 번호
| order_id | int | 10 | 주문 번호
dish_id | int | 10 | 식사번호 ㅋㅋㅋ . 데이터베이스 운영 |
데이터베이스 연결 |
PHP 사용 MySQL 데이터베이스 연결 언어: | // 数据库连接参数
$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';
}
로그인 후 복사
3. 페이지 구현 |
주문 목록 페이지 | 주문 시스템의 백그라운드 관리 페이지에서 모든 주문 정보를 표시할 수 있습니다. 배송되었으며 주문 상태를 수정하는 작업 버튼이 포함되어 있습니다. 다음 코드는 배송된 주문 목록의 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 |
운영자가 "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('订单状态更新失败!');
}
}
});
});
로그인 후 복사
IV. 요약 |
MySQL 데이터베이스를 사용하여 주문 시스템의 배송 추적 기능을 구현하는 프로세스에는 데이터베이스 테이블 설계와 쿼리가 포함됩니다. 그리고 주문 정보 업데이트. 동시에 페이지에 주문 정보를 표시하고 동적 주문 상태 업데이트를 구현해야 합니다. 위 내용은 기본적인 구현 아이디어를 제공하며, 독자는 실제 필요와 비즈니스 로직에 따라 적절하게 확장하고 수정할 수 있습니다. |
위 내용은 MySQL은 주문 시스템의 배송 추적 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!