Home >Backend Development >PHP Tutorial >Second-hand recycling website uses multi-level classification and screening function developed in PHP
The second-hand recycling website uses the multi-level classification and filtering function developed by PHP
In modern society, people are paying more and more attention to environmental protection, and second-hand recycling has become a popular consumer concept. In order to facilitate users to quickly find the second-hand items they need, many second-hand recycling websites have begun to pay attention to multi-level classification and filtering functions. This article will introduce how to use PHP to develop multi-level classification filtering functions and provide corresponding code examples.
First, we need to design the database table structure to store classification information. Suppose we have the following three tables: categories, subcategories, and items.
CREATE TABLE categories ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL ); CREATE TABLE subcategories ( id INT PRIMARY KEY AUTO_INCREMENT, category_id INT NOT NULL, name VARCHAR(50) NOT NULL, FOREIGN KEY (category_id) REFERENCES categories (id) ); CREATE TABLE items ( id INT PRIMARY KEY AUTO_INCREMENT, subcategory_id INT NOT NULL, name VARCHAR(100) NOT NULL, price DECIMAL(10, 2) NOT NULL, FOREIGN KEY (subcategory_id) REFERENCES subcategories (id) );
On the front end of the web page, we can use HTML and CSS to create multi-level category selectors. First, we need to create a select element so that the user can select the first-level category:
<label for="category">选择分类:</label> <select id="category" name="category"> <option value="">请选择分类</option> <?php // 获取所有一级分类 $query = "SELECT * FROM categories"; $result = mysqli_query($conn, $query); while ($row = mysqli_fetch_assoc($result)) { echo '<option value="' . $row["id"] . '">' . $row["name"] . '</option>'; } ?> </select>
When the user selects the first-level category, we can use AJAX to request the second-level category associated with the first-level category from the server:
$(document).ready(function() { $("#category").change(function() { var categoryID = $(this).val(); $.ajax({ url: "get_subcategories.php", type: "POST", data: { category_id: categoryID }, success: function(response) { $("#subcategory").html(response); } }); }); });
On the server side, we create a PHP script (get_subcategories.php) that handles AJAX requests and returns the secondary category options associated with the specified primary category:
<?php // 获取一级分类 ID $categoryID = $_POST["category_id"]; // 获取相关的二级分类 $query = "SELECT * FROM subcategories WHERE category_id = $categoryID"; $result = mysqli_query($conn, $query); // 生成二级分类选项 echo '<option value="">请选择二级分类</option>'; while ($row = mysqli_fetch_assoc($result)) { echo '<option value="' . $row["id"] . '">' . $row["name"] . '</option>'; } ?>
Next , we can display the corresponding second-hand item list according to the secondary classification selected by the user. On the front end of the web page, we can use a table to display the names and prices of second-hand items:
<table> <thead> <tr> <th>名称</th> <th>价格</th> </tr> </thead> <tbody id="item-list"> <!-- 二手物品列表将通过 AJAX 动态加载到这里 --> </tbody> </table>
When the user selects the secondary category, we can again obtain the information associated with the secondary category from the server through an AJAX request. Second-hand items:
$(document).ready(function() { $("#subcategory").change(function() { var subcategoryID = $(this).val(); $.ajax({ url: "get_items.php", type: "POST", data: { subcategory_id: subcategoryID }, success: function(response) { $("#item-list").html(response); } }); }); });
On the server side, we create a PHP script (get_items.php) that handles AJAX requests and returns a list of second-hand items associated with the specified secondary category:
<?php // 获取二级分类 ID $subcategoryID = $_POST["subcategory_id"]; // 获取相关的二手物品 $query = "SELECT * FROM items WHERE subcategory_id = $subcategoryID"; $result = mysqli_query($conn, $query); // 生成二手物品列表 while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row["name"] . '</td>'; echo '<td>' . $row["price"] . '</td>'; echo '</tr>'; } ?>
Through the above code example, we have implemented a multi-level classification and filtering function for a second-hand recycling website based on PHP. Users can select a first-level category, then select a corresponding second-level category based on the first-level category, and finally display a list of second-hand items associated with the selected second-level category. The development of this kind of function can help users quickly locate the second-hand items they need and improve the usability and user experience of the website.
Of course, the above is just a simple example. In the actual development process, we also need to consider functions such as data filtering and paging loading to improve website performance and user experience. I hope this article can inspire development and help developers implement more comprehensive and complete multi-level classification and filtering functions.
The above is the detailed content of Second-hand recycling website uses multi-level classification and screening function developed in PHP. For more information, please follow other related articles on the PHP Chinese website!