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 စနစ်ရှိထုတ်ကုန်ခွဲခြားခြင်းနှင့်စစ်ထုတ်ခြင်းလုပ်ဆောင်မှုများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုသင်လေ့လာသင်ယူခဲ့သည်။ အကျိုးသင့်အကြောင်းသင့်ရှိသောခွဲခြားခြင်းနှင့်စစ်ဆေးခြင်းသည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရုံသာမကသုံးစွဲသူများသည်၎င်းတို့ပိုမိုလိုအပ်သည့်ထုတ်ကုန်များကိုပိုမိုလျင်မြန်စွာရှာဖွေရန်ကူညီသည်။ ဤဆောင်းပါးသည်သင်၏စီမံကိန်းဖွံ့ဖြိုးတိုးတက်မှုအတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုမျှော်လင့်ပါသည်။