လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_chunk မှတဆင့် 2D ခင်းကျင်းမှုကိုဘယ်လို pagate လုပ်နည်း

array_chunk မှတဆင့် 2D ခင်းကျင်းမှုကိုဘယ်လို pagate လုပ်နည်း

M66 2025-04-25

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်စာရင်းပြ display စာမျက်နှာတစ်ခုတွင်ကဲ့သို့သောနှစ်ရှုထောင်ခင်းကျင်းမှုများစွာကိုကျွန်ုပ်တို့မကြာခဏပြသရန်လိုအပ်သည်။ PHP သည်အလွန်လက်တွေ့ကျသော function array_chunk () ကိုထောက်ပံ့ပေးသည်။ ဒီသင်ခန်းစာမှာ 2D array ကို pageunt လုပ်ဖို့ array_chunk () function ကိုဘယ်လိုသုံးရမလဲဆိုတာလေ့လာမယ်။

နမူနာမြင်ကွင်း

ကျွန်ုပ်တို့တွင်ကြီးမားသောနှစ်ရှုထောင်ခင်းကျင်းမှုတွင်အသုံးပြုသူပရိုဖိုင်းအချက်အလက်များစွာပါ 0 င်သည်ဆိုပါစို့။ စာမျက်နှာတစ်ခုစီတွင်မှတ်တမ်း 5 ခုပါ 0 င်သည့်ဤအချက်အလက်စာမျက်နှာကိုကျွန်ုပ်တို့တင်ပြလိုပါသည်။ ဒီ function ကိုအကောင်အထည်ဖော်ရန်ကျွန်ုပ်တို့ array_chunk () ကိုသုံးပါမည်။

အဆင့်

  1. ကြီးမားသော 2D ခင်းကျင်းကိုပြင်ဆင်ပါ

    ကျွန်ုပ်တို့တွင်စံချိန် 20 ရှုထောင့် 20 ခန့်ရှိပြီးမှတ်တမ်းတစ်ခုစီသည်အသုံးပြုသူအချက်အလက်ဖြစ်သည်။

     <?php
    $users = [
        ['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
        ['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
        ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
        ['id' => 4, 'name' => 'David', 'email' => 'david@m66.net'],
        ['id' => 5, 'name' => 'Eve', 'email' => 'eve@m66.net'],
        ['id' => 6, 'name' => 'Frank', 'email' => 'frank@m66.net'],
        ['id' => 7, 'name' => 'Grace', 'email' => 'grace@m66.net'],
        ['id' => 8, 'name' => 'Hannah', 'email' => 'hannah@m66.net'],
        ['id' => 9, 'name' => 'Ivy', 'email' => 'ivy@m66.net'],
        ['id' => 10, 'name' => 'Jack', 'email' => 'jack@m66.net'],
        ['id' => 11, 'name' => 'Kevin', 'email' => 'kevin@m66.net'],
        ['id' => 12, 'name' => 'Lily', 'email' => 'lily@m66.net'],
        ['id' => 13, 'name' => 'Mason', 'email' => 'mason@m66.net'],
        ['id' => 14, 'name' => 'Nina', 'email' => 'nina@m66.net'],
        ['id' => 15, 'name' => 'Oscar', 'email' => 'oscar@m66.net'],
        ['id' => 16, 'name' => 'Paul', 'email' => 'paul@m66.net'],
        ['id' => 17, 'name' => 'Quincy', 'email' => 'quincy@m66.net'],
        ['id' => 18, 'name' => 'Rachel', 'email' => 'rachel@m66.net'],
        ['id' => 19, 'name' => 'Sam', 'email' => 'sam@m66.net'],
        ['id' => 20, 'name' => 'Tina', 'email' => 'tina@m66.net']
    ];
    ?>
    
  2. array_chunk ကိုအသုံးပြုပြီး pagination ()

    array_chunk () function သည်သတ်မှတ်ထားသောအရွယ်အစား၏ subarrays သို့ array တစ်ခုသို့ခွဲထားသည်။ စာမျက်နှာတစ်ခုစီမှမှတ်တမ်းများကို 5 အထိကန့်သတ်ထားပြီးစာမျက်နှာများပေါ်တွင်ပြပါ။

     <?php
    // စာမျက်နှာတစ်ခုချင်းစီကိုပြသ 5 စံချိန်
    $page_size = 5;
    
    // အသုံးပြု array_chunk() မျိုးစုံသေးငယ်တဲ့ arrays သို့ကြီးမားသော arrays split
    $paged_users = array_chunk($users, $page_size);
    
    // output ကို paged အသုံးပြုသူသတင်းအချက်အလက်
    echo '<pre>';
    print_r($paged_users);
    echo '</pre>';
    ?>
    

    ဤနည်းအားဖြင့် $ paged_users သည် ရှုထောင့်နှစ်လုံးရှိခင်းကျင်းသူများဖြစ်သည်။ ဥပမာအားဖြင့်, ပထမစာမျက်နှာတွင်မှတ်တမ်း 5 ခုဖော်ပြထားသည်။ ဒုတိယစာမျက်နှာသည်လာမည့် 5 မှတ်တမ်းများကိုပြသသည်။

  3. Pagination မျက်နှာပြင်

    0 က်ဘ်စာမျက်နှာတစ်ခုချင်းစီအတွက်အသုံးပြုသူအချက်အလက်များကိုကျွန်ုပ်တို့ပြသရန်လိုအပ်သည်ဆိုပါစို့။ လက်ရှိစာမျက်နှာအရေအတွက်နှင့်စာမျက်နှာစုစုပေါင်းအရေအတွက်ကိုတွက်ချက်ခြင်းဖြင့်ကျွန်ုပ်တို့သည် paging link များကိုထုတ်ပေးနိုင်သည်။

     <?php
    $total_pages = count($paged_users);
    $current_page = 1;  // ဒါဟာပထမစာမျက်နှာဖြစ်ပါတယ်ယူဆ
    
    // လက်ရှိစာမျက်နှာပေါ်တွင်အသုံးပြုသူအချက်အလက်များကိုပြပါ
    echo 'လက်ရှိစာမျက်နှာ:' . $current_page . '<br>';
    foreach ($paged_users[$current_page - 1] as $user) {
        echo 'ID: ' . $user['id'] . ',နံမယ်: ' . $user['name'] . ',စာပို့: ' . $user['email'] . '<br>';
    }
    
    // paging လင့်များပြသပါ
    echo '<br>Pagination link:<br>';
    for ($i = 1; $i <= $total_pages; $i++) {
        echo '<a href="page.php?page=' . $i . '">1 ။' . $i . 'စာမျက်နှာ</a> ';
    }
    ?>
    

    ဤနေရာတွင်လက်ရှိစာမျက်နှာအရေအတွက်ကို string ကို Quing ကို Quinging (ဥပမာ စာမျက်နှာ = 1 ) ကိုမေးမြန်းခြင်းဖြင့်ဆုံးဖြတ်သည်ဟုကျွန်ုပ်တို့ယူဆသည်။ dynamically link များဖြင့်အသုံးပြုသူများသည်သက်ဆိုင်ရာအချက်အလက်များကိုကြည့်ရှုရန်မတူညီသောစာမျက်နှာများကိုကလစ်နှိပ်ပါ။