Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Laman web kitar semula terpakai menggunakan klasifikasi berbilang peringkat dan fungsi penyaringan yang dibangunkan dalam PHP

Laman web kitar semula terpakai menggunakan klasifikasi berbilang peringkat dan fungsi penyaringan yang dibangunkan dalam PHP

WBOY
WBOYasal
2023-07-02 13:25:171476semak imbas

Tapak web kitar semula terpakai menggunakan fungsi klasifikasi dan penapisan berbilang peringkat yang dibangunkan dalam PHP

Dalam masyarakat moden, orang ramai semakin memberi perhatian kepada perlindungan alam sekitar, dan kitar semula terpakai telah menjadi konsep pengguna yang popular. Bagi memudahkan pengguna mencari barangan terpakai dengan cepat yang mereka perlukan, banyak laman web kitar semula terpakai telah mula memberi perhatian kepada fungsi klasifikasi dan penapisan pelbagai peringkat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan fungsi penapisan klasifikasi berbilang peringkat dan menyediakan contoh kod yang sepadan.

Pertama, kita perlu mereka bentuk struktur jadual pangkalan data untuk menyimpan maklumat klasifikasi. Katakan kita mempunyai tiga jadual berikut: kategori, subkategori dan item.

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

Di hujung hadapan halaman web, kita boleh menggunakan HTML dan CSS untuk membuat pemilih kategori berbilang peringkat. Pertama, kita perlu mencipta elemen pilih supaya pengguna boleh memilih kategori peringkat pertama:

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

Apabila pengguna memilih kategori peringkat pertama, kita boleh menggunakan AJAX untuk meminta kategori peringkat kedua yang dikaitkan dengan kategori pertama- kategori tahap dari pelayan:

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

Dalam Di sebelah pelayan, kami mencipta skrip PHP (get_subcategories.php) untuk memproses permintaan AJAX dan mengembalikan pilihan kategori sekunder yang dikaitkan dengan kategori utama yang ditentukan:

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

Seterusnya, kita boleh paparan berdasarkan kategori kedua yang dipilih oleh pengguna Penyenaraian item terpakai yang sepadan. Pada hujung hadapan halaman web, kita boleh menggunakan jadual untuk memaparkan nama dan harga barang terpakai:

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

Apabila pengguna memilih kategori kedua, kita boleh mendapatkan semula item terpakai yang dikaitkan dengan kedua. kategori daripada pelayan melalui permintaan 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);
            }
        });
    });
});

Di bahagian pelayan, kami mencipta skrip PHP (get_items.php) untuk mengendalikan permintaan AJAX dan mengembalikan senarai item terpakai yang dikaitkan dengan kategori sekunder yang ditentukan:

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

Melalui contoh kod di atas, kami melaksanakan berasaskan PHP Klasifikasi pelbagai peringkat dan fungsi penapisan tapak web kitar semula terpakai. Pengguna boleh memilih kategori peringkat pertama, kemudian pilih kategori peringkat kedua yang sepadan berdasarkan kategori peringkat pertama, dan akhirnya memaparkan senarai item terpakai yang dikaitkan dengan kategori peringkat kedua yang dipilih. Pembangunan fungsi jenis ini boleh membantu pengguna mencari dengan cepat item terpakai yang mereka perlukan dan meningkatkan kebolehgunaan dan pengalaman pengguna tapak web.

Sudah tentu perkara di atas hanyalah contoh mudah. Dalam proses pembangunan sebenar, kami juga perlu mempertimbangkan fungsi seperti penapisan data dan pemuatan halaman untuk meningkatkan prestasi laman web dan pengalaman pengguna. Saya harap artikel ini dapat memberi inspirasi kepada pembangunan dan membantu pembangun melaksanakan fungsi klasifikasi dan penapisan berbilang peringkat yang lebih komprehensif dan lengkap.

Atas ialah kandungan terperinci Laman web kitar semula terpakai menggunakan klasifikasi berbilang peringkat dan fungsi penyaringan yang dibangunkan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn