Tutorial fungsi pusat membeli-belah PHP: melaksanakan klasifikasi produk dan fungsi penapisan

王林
Lepaskan: 2023-07-31 11:50:02
asal
1318 orang telah melayarinya

Tutorial Fungsi PHP Mall: Melaksanakan Fungsi Klasifikasi dan Penapisan Produk

Apabila membangunkan projek pusat membeli-belah PHP, fungsi klasifikasi dan penapisan produk adalah penting. Melalui pengelasan dan penapisan yang munasabah, pengguna boleh mencari dan membeli produk dengan mudah. Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP untuk melaksanakan klasifikasi produk dan fungsi penapisan, serta melampirkan contoh kod.

  1. Buat klasifikasi produk

Pertama, kita perlu mencipta jadual klasifikasi produk dan kelas model yang sepadan. Jadual klasifikasi produk mesti mengandungi sekurang-kurangnya medan berikut: id, nama, parent_id. Antaranya, id ialah kunci utama penambahan automatik, nama ialah nama kategori dan parent_id ialah ID kategori induk bagi kategori tersebut.

Berikut ialah contoh kod untuk mencipta jadual klasifikasi produk:

CREATE TABLE `categories` (
  `id` int(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `name` varchar(255) NOT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk

Seterusnya, cipta kelas model Kategori dan tentukan hubungan dan kaedah yang sepadan. Berikut adalah contoh kod:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class Category extends Model
{
    protected $fillable = ['name', 'parent_id'];

    public function parent()
    {
        return $this->belongsTo(Category::class, 'parent_id');
    }

    public function children()
    {
        return $this->hasMany(Category::class, 'parent_id');
    }
}
Salin selepas log masuk
  1. Paparkan kategori produk

Di muka depan pusat beli-belah, kita perlu memaparkan kategori produk dalam struktur pokok untuk memudahkan pengguna menyemak imbas dan memilih kategori. Berikut ialah contoh kod:

<?php

use AppModelsCategory;

function displayCategories($categories, $parent_id = 0)
{
    echo '<ul class="category-list">';

    foreach ($categories as $category) {
        if ($category->parent_id == $parent_id) {
            echo '<li>';
            echo $category->name;

            $children = $category->children;

            if (count($children) > 0) {
                displayCategories($children, $category->id);
            }

            echo '</li>';
        }
    }

    echo '</ul>';
}

$categories = Category::all();
displayCategories($categories);
Salin selepas log masuk
  1. Penapisan produk

Fungsi penapisan produk pusat membeli-belah membolehkan pengguna mencari produk yang mereka perlukan dengan cepat berdasarkan keperluan mereka. Biasanya, saringan produk melibatkan atribut produk, seperti harga, warna, dsb. Kami boleh menggunakan borang untuk mengumpul syarat penapisan pengguna dan pertanyaan untuk produk yang memenuhi kriteria berdasarkan syarat. Berikut ialah contoh kod:

<?php

use AppModelsProduct;

function getFilteredProducts($filters)
{
    $query = Product::query();

    if (isset($filters['price'])) {
        $query->whereBetween('price', [$filters['price']['min'], $filters['price']['max']]);
    }

    if (isset($filters['color'])) {
        $query->whereIn('color', $filters['color']);
    }

    // 添加其他筛选条件

    $products = $query->get();

    return $products;
}

// 获取用户提交的筛选条件
$filters = $_POST['filters'];

// 调用筛选函数获取符合条件的商品
$products = getFilteredProducts($filters);
Salin selepas log masuk

Di atas ialah tutorial menggunakan PHP untuk melaksanakan fungsi klasifikasi dan penapisan produk. Melalui klasifikasi dan penapisan yang munasabah, pengalaman pengguna boleh dipertingkatkan dan membantu pengguna mencari produk yang mereka perlukan dengan cepat. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Tutorial fungsi pusat membeli-belah PHP: melaksanakan klasifikasi produk dan fungsi penapisan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!