Maison > développement back-end > tutoriel php > Le site Web de recyclage d'occasion utilise une fonction de classification et de sélection à plusieurs niveaux développée en PHP

Le site Web de recyclage d'occasion utilise une fonction de classification et de sélection à plusieurs niveaux développée en PHP

WBOY
Libérer: 2023-07-02 13:26:02
original
1497 Les gens l'ont consulté

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)
);
Copier après la connexion

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>
Copier après la connexion

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);
            }
        });
    });
});
Copier après la connexion

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>';
    }
?>
Copier après la connexion

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>
Copier après la connexion

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);
            }
        });
    });
});
Copier après la connexion

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>';
    }
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal