Tutoriel sur les fonctions PHP Mall : implémentation des fonctions de classification et de filtrage des produits

王林
Libérer: 2023-07-31 11:50:02
original
1343 Les gens l'ont consulté

Tutoriel sur les fonctions PHP Mall : implémentation des fonctions de classification et de filtrage des produits

Lors du développement d'un projet de centre commercial PHP, les fonctions de classification et de filtrage des produits sont essentielles. Grâce à une classification et un filtrage raisonnables, les utilisateurs peuvent facilement trouver et acheter des produits. Cet article présentera en détail comment utiliser PHP pour implémenter des fonctions de classification et de filtrage de produits, et joindra des exemples de code.

  1. Créer une classification des produits

Tout d'abord, nous devons créer un tableau de classification des produits et une classe de modèle correspondante. Le tableau de classification des produits doit contenir au moins les champs suivants : id, name, parent_id. Parmi eux, id est la clé primaire à incrémentation automatique, name est le nom de la catégorie et parent_id est l'ID de la catégorie parent de la catégorie.

Ce qui suit est un exemple de code pour créer une table de classification de produits :

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

Ensuite, créez la classe modèle Category et définissez les relations et méthodes correspondantes. Voici un exemple de code :

<?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');
    }
}
Copier après la connexion
  1. Afficher les catégories de produits

Sur la première page du centre commercial, nous devons afficher les catégories de produits dans une arborescence pour permettre aux utilisateurs de parcourir et de sélectionner les catégories. Voici un exemple de code :

<?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);
Copier après la connexion
  1. Filtrage des produits

La fonction de filtrage des produits du centre commercial permet aux utilisateurs de trouver rapidement les produits dont ils ont besoin en fonction de leurs besoins. Habituellement, la sélection des produits implique des attributs du produit, tels que le prix, la couleur, etc. Nous pouvons utiliser des formulaires pour collecter les conditions de filtrage des utilisateurs et rechercher des produits qui répondent aux critères en fonction des conditions. Voici un exemple de code :

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

Ce qui précède est un tutoriel sur l'utilisation de PHP pour implémenter les fonctions de classification et de filtrage des produits. Grâce à une classification et un filtrage raisonnables, l'expérience utilisateur peut être améliorée et aider les utilisateurs à trouver rapidement les produits dont ils ont besoin. J'espère que cet article vous aidera !

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