How to use PHP to develop a simple online ordering function
How to use PHP to develop a simple online ordering function
With the popularity of the Internet, more and more restaurants have begun to provide online ordering services. With the power and flexibility of the PHP language, it is very practical and interesting to develop a simple online ordering function. This article will introduce how to use PHP to develop a simple online ordering system and provide specific code examples.
1. Database design
Before we start writing code, we need to design a database to store menu information and customer orders. We can use the MySQL database and create two tables to store this information. First, we create a menu table (menu), containing information such as dish names, prices, and descriptions. Secondly, create an order table (orders), including order number, dish name, quantity and total price and other information.
The structure of the menu table is as follows:
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 );
The structure of the orders table is as follows:
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. Create a web interface
Next, we create a simple A web interface to display menus and process customer orders. First, create an index.php file and add the following code in the file:
<!DOCTYPE html> <html> <head> <title>在线点餐</title> </head> <body> <h1 id="菜单">菜单</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>
In the above code, we first connect to the database and query the menu data. Then, display the menu data on the web page through a loop and provide a join order button for each menu item. After clicking the button, it will jump to the order.php file for processing.
3. Processing Orders
In the order.php file, we process the addition of customer orders and calculate the total price. Add the following code in the file:
<?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(); ?>
In the above code, we first receive the menu ID (menu_id) and quantity (quantity) parameters from the index.php interface. Then, connect to the database and query the prices of the selected menu. Next, we calculate the total order price and generate the order number, and insert the order data into the orders table.
4. Test run
Open the index.php interface in the browser, you can see the menu list and click the Add Order button. After clicking the button, it will jump to the order.php file for processing, and display a message indicating whether the order was added successfully or failed.
Summary
Through the above steps, we successfully developed a simple online ordering function using PHP. Using the powerful functions of PHP and database, we can easily implement the ordering function, and can carry out secondary development and expansion according to needs. When writing such functions, we should pay attention to protecting the security of database connections and processing user input data to ensure the stability and security of the system.
The above is the detailed content of How to use PHP to develop a simple online ordering function. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.
