ホームページ > バックエンド開発 > PHPチュートリアル > PHPモール関数チュートリアル:商品分類とフィルタリング関数の実装

PHPモール関数チュートリアル:商品分類とフィルタリング関数の実装

王林
リリース: 2023-07-31 11:50:02
オリジナル
1477 人が閲覧しました

PHP モール関数チュートリアル: 商品の分類とフィルター機能の実装

PHP モール プロジェクトを開発する場合、商品の分類とフィルター機能は不可欠です。合理的な分類とフィルタリングにより、ユーザーは製品を簡単に見つけて購入できます。この記事では、PHP を使用して商品分類とフィルタリング機能を実装する方法をコード例を添付して詳しく紹介します。

  1. 製品分類の作成

まず、製品分類テーブルと対応するモデル クラスを作成する必要があります。製品分類テーブルには、少なくとも次のフィールドが含まれている必要があります: id、name、parent_id。このうち、id は自動インクリメントされる主キー、name はカテゴリ名、parent_id はカテゴリの親カテゴリ ID です。

次は、製品分類テーブルを作成するコード例です。

1

2

3

4

5

6

7

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;

ログイン後にコピー

次に、Category モデル クラスを作成し、対応する関係とメソッドを定義します。以下はコード例です:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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

    }

}

ログイン後にコピー
  1. 製品カテゴリの表示

モールのフロント ページでは、わかりやすくするために製品カテゴリをツリー構造で表示する必要があります。ユーザーは分類を参照して選択します。コード例を次に示します。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

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

ログイン後にコピー
  1. 商品フィルタリング
# モールの商品フィルタリング機能を使用すると、ユーザーはニーズに基づいて必要な商品をすばやく見つけることができます。通常、製品のスクリーニングには、価格、色などの製品の属性が含まれます。フォームを使用してユーザーのフィルタリング条件を収集し、条件に基づいて条件を満たす製品をクエリできます。以下はコード例です:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

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

ログイン後にコピー
上記は、PHP を使用して製品分類およびフィルター機能を実装するチュートリアルです。合理的な分類とフィルタリングにより、ユーザー エクスペリエンスが向上し、ユーザーが必要な製品をすぐに見つけられるようになります。この記事がお役に立てば幸いです!

以上がPHPモール関数チュートリアル:商品分類とフィルタリング関数の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート