ホームページ  >  記事  >  バックエンド開発  >  PHPで開発した多段階分類・選別機能を活用した中古リサイクルサイト

PHPで開発した多段階分類・選別機能を活用した中古リサイクルサイト

WBOY
WBOYオリジナル
2023-07-02 13:25:171478ブラウズ

PHP社が開発した多段階分類・フィルタリング機能を利用した中古リサイクルサイトです。

現代社会では環境保護への関心が高まり、中古品のリサイクルが重要な役割を果たしています。人気のある消費者のコンセプト。ユーザーが必要な中古品をすぐに見つけられるようにするために、多くの中古リサイクル Web サイトでは、多段階の分類とフィルタリング機能に注目し始めています。この記事では、PHP を使用してマルチレベル分類フィルタリング関数を開発する方法を紹介し、対応するコード例を示します。

まず、分類情報を保存するためのデータベース テーブル構造を設計する必要があります。カテゴリ、サブカテゴリ、項目という 3 つのテーブルがあるとします。

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)
);

Web ページのフロントエンドでは、HTML と CSS を使用してマルチレベル カテゴリ セレクターを作成できます。まず、ユーザーが第 1 レベルのカテゴリを選択できるように、select 要素を作成する必要があります。

<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>

ユーザーが第 1 レベルのカテゴリを選択すると、AJAX を使用して、関連付けられた第 2 レベルのカテゴリをリクエストできます。サーバーからの第 1 レベル カテゴリを使用します:

$(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);
            }
        });
    });
});

サーバー側で、AJAX リクエストを処理し、指定されたプライマリ カテゴリに関連付けられたセカンダリ カテゴリ オプションを返す PHP スクリプト (get_subcategories.php) を作成します。 ##

<?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>';
    }
?>

次に、ユーザーが選択した二次分類に従って、該当する中古品リストを表示できます。 Web ページのフロントエンドで、テーブルを使用して中古品の名前と価格を表示できます。

<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>价格</th>
        </tr>
    </thead>
    <tbody id="item-list">
        <!-- 二手物品列表将通过 AJAX 动态加载到这里 -->
    </tbody>
</table>

ユーザーが 2 番目のカテゴリを選択すると、その商品に関連付けられた情報を再度取得できます。 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);
            }
        });
    });
});

サーバー側で、AJAX リクエストを処理し、中古アイテムのリストを返す PHP スクリプト (get_items.php) を作成します。指定された二次カテゴリに関連付けられています:

<?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>';
    }
?>

上記のコード例を通じて、PHP に基づいて中古リサイクル Web サイトのマルチレベルの分類とフィルター機能を実装しました。ユーザーは、第 1 レベルのカテゴリを選択し、次に第 1 レベルのカテゴリに基づいて対応する第 2 レベルのカテゴリを選択し、最後に選択した第 2 レベルのカテゴリに関連付けられた中古品のリストを表示できます。このような機能の開発により、ユーザーは必要な中古品を素早く見つけることができ、Webサイトの使いやすさとユーザーエクスペリエンスを向上させることができます。

もちろん、上記は単なる単純な例です。実際の開発プロセスでは、Web サイトのパフォーマンスとユーザー エクスペリエンスを向上させるために、データのフィルタリングやページングの読み込みなどの機能も考慮する必要があります。この記事が開発に刺激を与え、開発者がより包括的で完全なマルチレベルの分類およびフィルタリング機能を実装するのに役立つことを願っています。

以上がPHPで開発した多段階分類・選別機能を活用した中古リサイクルサイトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。