ဝက်ဘ်လျှောက်လွှာဖွံ့ဖြိုးတိုးတက်မှုတွင်ထုတ်ကုန်ခွဲခြားခြင်း, ဆောင်းပါးခွဲခြားခြင်း, ခွင့်ပြုချက် Menterification စသည်ဖြင့်မည်သည့်အဆင့်တွင်အသိုက်ကိုထောက်ပံ့သောအထောက်အထားများအနေဖြင့်, ဤဆောင်းပါးသည် PHP ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်အသေးစိတ်ကိုအသေးစိတ်ဖော်ပြရန်ဖြစ်သည်။
Infinite-Level အမျိုးအစားခွဲခြားမှုကိုရရှိရန်အတွက်ကျိုးကြောင်းဆီလျော်သောဒေတာစားပွဲဝိုင်းဖွဲ့စည်းပုံသည်ပထမဆုံးလိုအပ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် classified data များကိုသိမ်းဆည်းရန်ရိုးရှင်းသော Self-self-altration table ကိုအသုံးပြုသည်။
CREATE TABLE categories (
id INT PRIMARY KEY AUTO_INCREMENT,
parent_id INT NOT NULL,
name VARCHAR(50) NOT NULL
);
စားပွဲ၌ ID တွင် ID သည် အမျိုးအစားတစ်ခုစီ၏ထူးခြားသောအမှတ်အသားဖြစ်သည်။ Parent_id သည် မိဘအဆင့်ကိုကိုယ်စားပြုသည်။ ထိပ်တန်းအဆင့်အတန်း၏ parent_id သည် 0 0 ကိုသတ်မှတ်ထားသည် ။
သစ်ပင်ဖွဲ့စည်းပုံကိုမပြမီဒေတာဘေ့စ်မှပြည့်စုံသောခွဲခြားအချက်အလက်အချက်အလက်များကိုသင်ဖြည်ချရန်နှင့်အသိုက်ဆက်ဆံမှုများကိုပြန်လည်ပြုပြင်ခြင်း
function getCategories($parent_id = 0) {
$categories = [];
$query = "SELECT id, name FROM categories WHERE parent_id = :parent_id";
$stmt = $pdo->prepare($query);
$stmt->execute(['parent_id' => $parent_id]);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$categories[$row['id']] = [
'id' => $row['id'],
'name' => $row['name'],
'children' => getCategories($row['id'])
];
}
return $categories;
}
အထက်ပါကုဒ်သည်ပြည့်စုံသောခွဲခြားထားသောအပင်ကိုပြန်လည်ပြုပြင်သည်။ ခွဲခြားသတ်မှတ်ခြင်းတစ်ခုစီသည်၎င်း၏အမျိုးအစားခွဲများနှင့်ပတ်သက်သောအချက်အလက်များပါ 0 င်သည်။
ခေါ်ဆိုမှုဥပမာ -
$categories = getCategories();
ကွန်ယက်စာမျက်နှာတစ်ခုပေါ်တွင်ခွဲခြားထားသောအချက်အလက်များကိုရှင်းရှင်းလင်းလင်းဖော်ပြရန်ကျွန်ုပ်တို့သည် unorddered စာရင်း element များကို HTML ၏စာရင်းကိုသုံးနိုင်သည်။
function renderCategories($categories) {
echo '<ul>';
foreach ($categories as $category) {
echo '<li>' . $category['name'] . '</li>';
if (!empty($category['children'])) {
echo '<ul>';
renderCategories($category['children']);
echo '</ul>';
}
}
echo '</ul>';
}
renderCategories($categories);
ဤလုပ်ဆောင်ချက်သည် nested classification layer ကို Layer မှ Layer ဖြင့်ပြန်လည်ထူထောင်ရေးနည်းလမ်းဖြင့်ဖွင့်ပြီးရှင်းလင်းသောအဆင့်ဆင့်ဖွဲ့စည်းပုံနှင့် HTML format ဖြင့်ပြသထားသည်။
PHP ကို အသုံးပြု. PHP ကိုအသုံးပြုခြင်း၏အဓိကအချက်မှာ Infinite-Level အမျိုးအစားခွဲခြားသည့်သစ်ပင်အဆောက်အအုံများကိုအကောင်အထည်ဖော်ရန်အတွက်အဓိကအားဖြင့်အချက်အလက်များနှင့်ကျိုးကြောင်းဆီလျော်သောအချက်အလက်များကိုပြသရန်ဖြစ်သည်။ အကြောင်းအရာစီမံခန့်ခွဲမှုစနစ်များသို့မဟုတ်ထုတ်ကုန်ခွဲခြားခြင်း၌ဖြစ်စေဤနည်းလမ်းသည်အလွန်လက်တွေ့ကျသည်။ ဤဆောင်းပါးတွင်ရှင်းပြချက်သည်သင့်အားအဆုံးမဲ့ခွဲခြားမှု၏အကောင်အထည်ဖော်မှုနည်းလမ်းများကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်လိုက်နာရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။