Le site Web de recyclage d'occasion utilise la fonction de classification et de filtrage à plusieurs niveaux développée en PHP
Dans la société moderne, les gens accordent de plus en plus d'attention à la protection de l'environnement et le recyclage d'occasion est devenu un concept de consommation populaire. Afin de permettre aux utilisateurs de trouver rapidement les articles d'occasion dont ils ont besoin, de nombreux sites Web de recyclage d'occasion ont commencé à s'intéresser aux fonctions de classification et de filtrage à plusieurs niveaux. Cet article présentera comment utiliser PHP pour développer des fonctions de filtrage de classification à plusieurs niveaux et fournira des exemples de code correspondants.
Tout d'abord, nous devons concevoir la structure des tables de la base de données pour stocker les informations de classification. Supposons que nous ayons les trois tableaux suivants : catégories, sous-catégories et éléments.
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) );
Sur le front-end de la page Web, nous pouvons utiliser HTML et CSS pour créer des sélecteurs de catégories à plusieurs niveaux. Tout d'abord, nous devons créer un élément de sélection afin que l'utilisateur puisse sélectionner une catégorie de premier niveau :
<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>
Lorsque l'utilisateur sélectionne une catégorie de premier niveau, nous pouvons utiliser AJAX pour demander la catégorie de deuxième niveau associée au premier niveau. niveau catégorie depuis le serveur :
$(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); } }); }); });
In Côté serveur, nous créons un script PHP (get_subcategories.php) pour traiter la requête AJAX et renvoyer les options de catégorie secondaire associées à la catégorie primaire spécifiée :
<?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>'; } ?>
Ensuite, nous pouvons affichage en fonction de la catégorie secondaire sélectionnée par l'utilisateur Annonces d'objets d'occasion correspondants. Sur le front end de la page web, on peut utiliser un tableau pour afficher les noms et prix des objets d'occasion :
<table> <thead> <tr> <th>名称</th> <th>价格</th> </tr> </thead> <tbody id="item-list"> <!-- 二手物品列表将通过 AJAX 动态加载到这里 --> </tbody> </table>
Lorsque l'utilisateur sélectionne la catégorie secondaire, on peut à nouveau obtenir les objets d'occasion associés au secondaire catégorie depuis le serveur via les requêtes AJAX :
$(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); } }); }); });
Côté serveur, nous créons un script PHP (get_items.php) pour gérer les requêtes AJAX et renvoyons une liste d'objets d'occasion associés à la catégorie secondaire spécifiée :
<?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 Dans l'exemple de code ci-dessus, nous avons implémenté une fonction de classification et de filtrage à plusieurs niveaux basée sur PHP pour le site Web de recyclage d'occasion. Les utilisateurs peuvent sélectionner une catégorie de premier niveau, puis sélectionner une catégorie de deuxième niveau correspondante sur la base de la catégorie de premier niveau, et enfin afficher une liste d'articles d'occasion associés à la catégorie de deuxième niveau sélectionnée. Le développement de cette fonction peut aider les utilisateurs à localiser rapidement les articles d'occasion dont ils ont besoin et à améliorer la convivialité et l'expérience utilisateur du site Web.
Bien sûr, ce qui précède n’est qu’un exemple simple. Dans le processus de développement actuel, nous devons également prendre en compte des fonctions telles que le filtrage des données et le chargement des pages pour améliorer les performances du site Web et l'expérience utilisateur. J'espère que cet article pourra inspirer le développement et aider les développeurs à mettre en œuvre des fonctions de classification et de filtrage à plusieurs niveaux plus complètes et plus complètes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!