首頁 >後端開發 >php教程 >如何使用PHP開發簡單的線上點餐功能

如何使用PHP開發簡單的線上點餐功能

PHPz
PHPz原創
2023-09-21 11:21:18963瀏覽

如何使用PHP開發簡單的線上點餐功能

如何使用PHP開發簡單的線上點餐功能

隨著網路的普及,越來越多的餐廳開始提供線上點餐服務。借助PHP語言的強大功能和靈活性,開發一個簡單的線上點餐功能是非常實用和有趣的。本文將介紹如何使用PHP開發一個簡單的線上點餐系統,並提供具體的程式碼範例。

一、資料庫設計

在開始編寫程式碼之前,我們需要設計資料庫來儲存選單資訊和客戶訂單。我們可以使用MySQL資料庫,建立兩個表來儲存這些資訊。首先,我們建立一張菜單表(menu),包含菜名、價格和描述等資訊。其次,建立一張訂單表(orders),包含訂單編號、菜名、數量和總價等資訊。

menu表的架構如下:

CREATE TABLE menu (
  id INT(11) AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  price DECIMAL(10,2) NOT NULL,
  description TEXT,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

orders表格的架構如下:

CREATE TABLE orders (
  id INT(11) AUTO_INCREMENT PRIMARY KEY,
  order_number VARCHAR(50) NOT NULL,
  menu_id INT(11) NOT NULL,
  quantity INT(11) NOT NULL,
  total_price DECIMAL(10,2) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (menu_id) REFERENCES menu(id)
);

二、建立網頁介面

接下來,我們建立一個簡單的網頁介面來展示菜單和處理客戶訂單。首先,建立一個index.php文件,並在文件中加入以下程式碼:

<!DOCTYPE html>
<html>
<head>
    <title>在线点餐</title>
</head>
<body>
    <h1>菜单</h1>
    
    <?php
        // 连接数据库
        $conn = new mysqli("localhost", "root", "", "restaurant");
        
        // 检查数据库连接是否成功
        if ($conn->connect_error) {
            die("数据库连接失败: " . $conn->connect_error);
        }
        
        // 查询菜单
        $sql = "SELECT * FROM menu";
        $result = $conn->query($sql);
        
        // 显示菜单
        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                echo "<p>" . $row["name"] . ": $" . $row["price"] . "</p>";
                echo "<p>" . $row["description"] . "</p>";
                echo "<form action='order.php' method='post'>";
                echo "<input type='hidden' name='menu_id' value='" . $row["id"] . "'>";
                echo "<input type='number' name='quantity' min='1' value='1'>";
                echo "<input type='submit' value='加入订单'>";
                echo "</form>";
                echo "<hr>";
            }
        } else {
            echo "暂无菜单";
        }
        
        // 关闭数据库连接
        $conn->close();
    ?>
    
</body>
</html>

在上述程式碼中,我們先連接到資料庫,並查詢選單資料。然後,透過循環將選單資料顯示在網頁上,並為每個選單項目提供一個加入訂單按鈕。點擊按鈕後,將跳到order.php檔案進行處理。

三、處理訂單

在order.php檔案中,我們處理客戶訂單的新增和計算總價。在檔案中加入以下程式碼:

<?php
    // 接收菜单ID和数量
    $menu_id = $_POST["menu_id"];
    $quantity = $_POST["quantity"];
    
    // 连接数据库
    $conn = new mysqli("localhost", "root", "", "restaurant");
    
    // 检查数据库连接是否成功
    if ($conn->connect_error) {
        die("数据库连接失败: " . $conn->connect_error);
    }
    
    // 查询菜单
    $sql = "SELECT * FROM menu WHERE id = $menu_id";
    $result = $conn->query($sql);
    
    // 添加订单
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $order_total = $row["price"] * $quantity;
            
            // 生成订单号
            $order_number = "OD" . time();
            
            // 插入订单数据
            $sql = "INSERT INTO orders (order_number, menu_id, quantity, total_price) VALUES ('$order_number', $menu_id, $quantity, $order_total)";
            
            if ($conn->query($sql) === TRUE) {
                echo "订单添加成功";
            } else {
                echo "订单添加失败: " . $conn->error;
            }
        }
    } else {
        echo "菜单不存在";
    }
    
    // 关闭数据库连接
    $conn->close();
?>

在上述程式碼中,我們首先接收來自index.php介面的選單ID(menu_id)和數量(quantity)參數。然後,連接到資料庫,並查詢所選選單的價格。接下來,我們計算訂單總價和產生訂單號,並將訂單資料插入orders表中。

四、測試運行

在瀏覽器中開啟index.php介面,即可看到選單清單並點選加入訂單按鈕。點擊按鈕後,將跳到order.php檔案進行處理,並顯示訂單新增成功或失敗的訊息。

總結

透過上述步驟,我們成功使用PHP開發了一個簡單的線上點餐功能。使用PHP和資料庫的強大功能,我們可以輕鬆實現點餐功能,並且可以根據需求進行二次開發和擴展。在編寫此類功能時,我們應該注意保護資料庫連接和處理使用者輸入資料的安全性,以確保系統的穩定性和安全性。

以上是如何使用PHP開發簡單的線上點餐功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn