PHP を使用して簡単なオンライン注文機能を開発する方法
インターネットの普及に伴い、オンライン注文サービスを提供するレストランが増えています。 PHP 言語のパワーと柔軟性を利用して、シンプルなオンライン注文機能を開発するのは非常に実用的で興味深いものです。この記事では、PHP を使用してシンプルなオンライン注文システムを開発する方法と、具体的なコード例を紹介します。
1. データベース設計
コードを書き始める前に、メニュー情報と顧客の注文を保存するデータベースを設計する必要があります。 MySQL データベースを使用して、この情報を保存する 2 つのテーブルを作成できます。まず、料理名、価格、説明などの情報を含むメニュー表 (メニュー) を作成します。次に、注文番号、料理名、数量、合計金額などの情報を含む注文テーブル (注文) を作成します。
メニュー テーブルの構造は次のとおりです。
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 );
注文テーブルの構造は次のとおりです。
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) );
2. Web インターフェイスを作成します
次に、メニューを表示し、顧客の注文を処理するための単純な Web インターフェイスを作成します。まず、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>
上記のコードでは、最初にデータベースに接続し、メニュー データをクエリします。次に、ループを通じて Web ページ上にメニュー データを表示し、各メニュー項目に結合順序ボタンを提供します。ボタンをクリックすると、処理のために order.php ファイルにジャンプします。
3. 注文の処理
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) パラメーターを受け取ります。次に、データベースに接続し、選択したメニューの価格を照会します。次に、合計注文価格を計算して注文番号を生成し、注文データを注文テーブルに挿入します。
4. テスト実行
ブラウザでindex.phpインターフェースを開くとメニューリストが表示され、「Add Order」ボタンをクリックします。ボタンをクリックすると、処理のために order.php ファイルにジャンプし、注文の追加が成功したか失敗したかを示すメッセージが表示されます。
まとめ
以上の手順により、PHPを使用した簡単なオンライン注文機能の開発に成功しました。 PHPとデータベースの強力な機能を利用して、発注機能を簡単に実装でき、ニーズに応じた二次開発や拡張も可能です。このような関数を作成するときは、システムの安定性とセキュリティを確保するために、データベース接続のセキュリティの保護とユーザー入力データの処理に注意を払う必要があります。
以上がPHP を使用して簡単なオンライン注文機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。