PHP Mall System ကိုတီထွင်သောအခါထုတ်ကုန်ခွဲခြားခြင်းနှင့်စစ်ထုတ်ခြင်းလုပ်ဆောင်ချက်များသည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရန်အဓိကဒြပ်စင်များဖြစ်သည်။ ကျိုးကြောင်းဆီလျော်သောထုတ်ကုန်ခွဲခြားခြင်းနှင့် filtering function များသည်သုံးစွဲသူများကိုသူတို့စိတ်ဝင်စားသောထုတ်ကုန်များကိုလျင်မြန်စွာရှာဖွေရန်, ဤဆောင်းပါးသည် PHP မှတစ်ဆင့်ဤလုပ်ငန်းများကို PHP မှတစ်ဆင့်မည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ထုတ်ကုန်အမျိုးအစားသတ်မှတ်ချက်ဇယားကိုဒေတာဗေ့စ်တွင်ဖန်တီးရန်နှင့်လိုအပ်သောမော်ဒယ်လူတန်းစားကိုဖန်တီးရန်လိုအပ်သည်။ ထုတ်ကုန်အမျိုးအစားခွဲခြားသည့်ဇယားတွင်အနည်းဆုံးအောက်ပါအကွက်များပါ 0 င်သင့်သည်။ ID, NAME နှင့် Parent_id တို့တွင် ID တွင် Auto-incourt Parent_id, အမည်မှာအမည်ခွဲခြားသတ်မှတ်ခြင်းအမည်,
ထုတ်ကုန်အမျိုးအစားခွဲခြားရန်ဇယားတစ်ခုဖန်တီးရန် SQL Code ၏ဥပမာတစ်ခုမှာဤတွင်ဖြစ်သည်။
Table `` အမျိုးအစားများကိုဖန်တီးပါ ( `ID 'INT (11) IDIGNED AODO_INCONCOMENTENTEST TRAST KENCH, `name` varchar (255) NULL, `parent_id` int (11) ပုံမှန် null, `` created_at` timestamp null ပုံမှန် null, `updated_at` timestamp null ပုံမှန် null null ) အင်ဂျင် = Innodb Default Charset = UTF8;
ထို့နောက်ကျွန်ုပ်တို့သည်အမျိုးအစားအမျိုးအစားဟုခေါ်သော Model အမျိုးအစားဟုခေါ်သောအတန်းအစားတစ်ခုဖန်တီးရန်နှင့်သက်ဆိုင်ရာအသင်းဆက်ဆံရေးကိုသတ်မှတ်ရန်နှင့်သက်ဆိုင်သောအသင်းဆက်ဆံရေးကိုသတ်မှတ်ရန်လိုအပ်သည်။
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Category extends Model { protected $fillable = ['name', 'parent_id']; public function parent() { return $this-> Senspo (အမျိုးအစား :: Class, 'Parent_id'); } အများပြည်သူလုပ်ဆောင်ချက်ကလေးများ () { $:> Hasmany (အမျိုးအစား :: Class, 'Parent_id') ။ } }
ရှေ့ပြေးစာမျက်နှာတွင် Product အမျိုးအစားခွဲခြားမှုအမျိုးအစားများကိုသစ်ပင်များပေါ်တွင်ပြသရန်နှင့်အမျိုးအစားများကိုရွေးချယ်ရန်လွယ်ကူချောမွေ့စေရန်အတွက်သစ်ပင်ဖွဲ့စည်းပုံတစ်ခုတွင်ပြသရန်လိုအပ်သည်။ ဤသည် function ကိုအကောင်အထည်ဖော်သည့်ကုဒ်ဥပမာတစ်ခုမှာ -
<?php use App\Models\Category; function displayCategories($categories, $parent_id = 0) { echo '<ul class="category-list"> ''; foreach ($ အမျိုးအစားအဖြစ် $ အမျိုးအစားများ) { IF ($ အမျိုးအစား -> Parent_id == $ parent_id) { ပဲ့တင်သံ<li> '' ။ $ အမျိုးအစား -> အမည်, $ ကလေးများ = ဒေါ်လာအမျိုးအစား -> ကလေးများ, IF (ရေတွက် ($ ကလေးများ)> 0) { DisplaincategateGories ($ ကလေးများ, ဒေါ်လာအမျိုးအစား -> ID); } ပဲ့တင်သံ</li> ''; } } ပဲ့တင်သံ</ul> ''; } $ အမျိုးအစား = အမျိုးအစား :: အားလုံး (); DisplayCategries ($ အမျိုးအစား);
ထုတ်ကုန် filtering function သည်အသုံးပြုသူများသည်၎င်းတို့၏လိုအပ်ချက်အရလိုအပ်သောထုတ်ကုန်များကိုလျင်မြန်စွာရှာဖွေရန်ကူညီနိုင်သည်။ များသောအားဖြင့်ထုတ်ကုန်စစ်ဆေးခြင်းတွင်စျေးနှုန်း, အရောင်, အမှတ်တံဆိပ်စသဖြင့် attribute အခြေအနေများပါ 0 င်သည်။
ထုတ်ကုန် filtering အတွက်ကုဒ်ဥပမာတစ်ခု
<?php use App\Models\Product; function getFilteredProducts($filters) { $query = Product::query(); if (isset($filters['price'])) { $query-> ('စျေးနှုန်း', [$ filter များ [ဈေးနှုန်းများ ['FID'], $ filter များ ['Max's] [' Max ']]) } IF (ISSET ($ forments ['')))) $ query- >> 'အရောင်', $ filter များ ['အရောင်']); } // အခြားစစ်မြေပြင်ဖြည့်စွက်ငွေ $ ထုတ်ကုန် = $ query-> get (); $ ထုတ်ကုန်များကိုပြန်သွားပါ။ } $ filter များ = $ _post ['filter များ']; // အသုံးပြုသူ $ ထုတ်ကုန်များမှတင်သွင်းသောစစ်ထုတ်ခြင်းစံနှုန်းများ = GetFilteredProducts ($ filter များ), // filter ကိုစံနှုန်းများနှင့်ကိုက်ညီသောထုတ်ကုန်များကိုရယူပါ
ဤဆောင်းပါးတွင်သင်ခန်းစာမှတစ်ဆင့် PHP Mall စနစ်ရှိထုတ်ကုန်ခွဲခြားခြင်းနှင့်စစ်ထုတ်ခြင်းလုပ်ဆောင်မှုများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုသင်လေ့လာသင်ယူခဲ့သည်။ အကျိုးသင့်အကြောင်းသင့်ရှိသောခွဲခြားခြင်းနှင့်စစ်ဆေးခြင်းသည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရုံသာမကသုံးစွဲသူများသည်၎င်းတို့ပိုမိုလိုအပ်သည့်ထုတ်ကုန်များကိုပိုမိုလျင်မြန်စွာရှာဖွေရန်ကူညီသည်။ ဤဆောင်းပါးသည်သင်၏စီမံကိန်းဖွံ့ဖြိုးတိုးတက်မှုအတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုမျှော်လင့်ပါသည်။