Heim  >  Artikel  >  Datenbank  >  MySQL implementiert die Lieferverfolgungsfunktion des Bestellsystems

MySQL implementiert die Lieferverfolgungsfunktion des Bestellsystems

WBOY
WBOYOriginal
2023-11-01 15:31:531216Durchsuche

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

In der modernen Gesellschaft ist das Bestellsystem zu einem unverzichtbaren Bestandteil der Massenverpflegungsbranche geworden. Die Menschen benötigen nicht nur die Qualität und den Geschmack von Lebensmitteln, sondern müssen auch in der Lage sein, das Lieferdatum, die Uhrzeit und das Lieferdatum einfach zu verfolgen das Essen während des Liefervorgangs Lieferort und andere Informationen. Die MySQL-Datenbank weist eine gute Skalierbarkeit und Stabilität auf und wird in verschiedenen Branchen häufig verwendet. In diesem Artikel wird erläutert, wie die MySQL-Datenbank zur Implementierung der Lieferverfolgungsfunktion des Bestellsystems verwendet wird, um den Lieferanforderungen der Benutzer gerecht zu werden.

1. Datentabellendesign

In der MySQL-Datenbank ist die Datentabelle die Grundeinheit zum Organisieren und Speichern von Daten. Für die Lieferverfolgungsfunktion des Bestellsystems können wir die folgende Datentabelle entwerfen:

  1. Auftragstabelle (Bestellungen)
Feldname Datentyp Länge Beschreibung
id int 10 Bestellnummer
Kunde varchar 20 Kunde. Name
Telefon varchar 11 Telefonnummer des Kunden
Adresse varchar 100 Lieferadresse
Status int 1 Bestellstatus (0: nicht geliefert, 1: geliefert)
create_time datetime 0 Bestellzeit
Lieferzeit DatumUhrzeit 0 Lieferzeit
Gesamtpreis Dezimal 10, 2 Gesamtbestellpreis
  1. Tabelle s (Gerichte)
Feldname Datentyp Länge Beschreibung
id int 10 Artikelnummer
Name varchar 20. Name der Mahlzeit
Preis dezimal 10, 2 Mahlzeiten-Einheitspreis
Kategorie varchar 20 Mahlzeitenkategorie
  1. Bestelldetails (order_details)
dish_idintintDezimal. 2. DatenbankbetriebVerwenden Sie PHP Sprache zum Herstellen einer Verbindung zur MySQL-Datenbank:Der Schlüssel zur Implementierung der Lieferverfolgungsfunktion des Bestellsystems besteht darin, die Bestellinformationen abzufragen und die Lieferstatusinformationen auf der Seite anzuzeigen. Der folgende Code fragt alle gelieferten Bestellinformationen ab: Wenn sich der Lieferstatus einer Bestellung ändert, muss der Status der Bestellung in der Datenbank zeitnah aktualisiert werden. Der folgende Code wird verwendet, um den Status der Bestellung auf „geliefert“ zu aktualisieren: 3. Seitenimplementierung
Feldname Datentyp Länge Beschreibung:
10 Meal number Menge
3 Mahlzeitmenge Zwischensumme
10, 2 Mahlzeitzwischensumme
Datenbankverbindung
// 数据库连接参数
$host = 'localhost'; // 数据库主机地址
$user = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$dbname = 'order_system'; // 数据库名称

// 连接数据库
$conn = mysqli_connect($host, $user, $password, $dbname);
if (!$conn) {
    die('数据库连接失败!' . mysqli_connect_error());
}
Bestellinformationen abfragen
// 查询已配送的订单信息
$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);
Bestellstatus aktualisieren
// 更新订单状态
$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';
}
Bestelllistenseite

    Auf der Hintergrundverwaltungsseite des Bestellsystems können wir alle Bestellinformationen anzeigen das geliefert wurde und Aktionsschaltflächen zum Ändern des Bestellstatus enthält. Der folgende Code zeigt den HTML-Code der gelieferten Bestellliste:
  1. <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>
Aktualisierung des Bestellstatus

    Wenn der Bediener auf die Schaltfläche „Geliefert“ klickt, muss eine AJAX-Anfrage an den Server gesendet werden, um den Bestellstatus dynamisch zu aktualisieren auf der Seite Änderungen im Bestellstatus anzeigen. Der folgende Code demonstriert den JavaScript-Code der AJAX-Anfrage:
  1. // 订单状态更新
    $(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('订单状态更新失败!');
                }
            }
        });
    });
  2. IV Zusammenfassung

Der Prozess der Verwendung der MySQL-Datenbank zur Implementierung der Lieferverfolgungsfunktion des Bestellsystems umfasst den Entwurf der Datenbanktabelle sowie die Abfrage und Aktualisierung der Bestellinformationen. Gleichzeitig müssen wir auch Bestellinformationen auf der Seite anzeigen und dynamische Aktualisierungen des Bestellstatus implementieren. Das Obige bietet eine grundlegende Implementierungsidee, die der Leser entsprechend den tatsächlichen Anforderungen und der Geschäftslogik entsprechend erweitern und ändern kann.

Das obige ist der detaillierte Inhalt vonMySQL implementiert die Lieferverfolgungsfunktion des Bestellsystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn