လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> CSV ဖိုင်ဒေတာကို array_chunk ကိုဘယ်လိုသုံးရမလဲ။

CSV ဖိုင်ဒေတာကို array_chunk ကိုဘယ်လိုသုံးရမလဲ။

M66 2025-04-27

နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းတွင် CSV ဖိုင်အချက်အလက်အမြောက်အများကိုကျွန်ုပ်တို့မကြာခဏလုပ်ဆောင်ရန်နှင့်စာမျက်နှာပေါ်တွင်ပြပါ။ PHP သည်ဤအလုပ်များကိုထိရောက်စွာဖြ ည့ ်ဆည်းပေးနိုင်ရန်အတွက်အင်အားကြီးမားသောလုပ်ဆောင်မှုများစွာကိုထောက်ပံ့ပေးသည်။

ဤဆောင်းပါးသည်သင် CSV ဖိုင်ဒေတာများကိုမည်သို့လုပ်ဆောင်ရန်နှင့် Paginated ကိုပြသရန်မည်သို့အသုံးပြုရမည်ကိုပြသသည့်ဥပမာတစ်ခုဖြင့်သင့်ကိုအဆင့်ဆင့်ကြည့်ရှုပါလိမ့်မည်

1 ။ array_chunk function ကိုနားလည်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် Array_chunk function ၏အခြေခံအသုံးပြုမှုကိုနားလည်ရန်လိုအပ်သည်။ Array_chunk function သည် stary တစ်ခုစီကိုသေးငယ်တဲ့အရာများစွာကိုဝေငှပြီးသေးငယ်တဲ့ခင်းကျင်းမှုတစ်ခုစီ၏အရွယ်အစားကိုသတ်မှတ်ထားသောဒုတိယ parameter မှသတ်မှတ်သည်။

သဒ္ဒါ:

 array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )
  • $ array : split ရန်လိုအပ်သည့်မူရင်းခင်းကျင်း။

  • $ အရွယ်အစား : ကွဲအက်ပြီးနောက်တစ်ခုချင်းစီကိုခင်းကျင်း၏အရွယ်အစား။

  • $ Presentify_keys : မူလခင်းကျင်း၏သော့အမည်ကိုဆက်လက်ထိန်းသိမ်းရန်ရှိမရှိ, ပုံမှန်အားဖြင့် မှားယွင်း သည်, reset key name သည်စဉ်ဆက်မပြတ်ကိန်းတစ်ခုဖြစ်ကြောင်းဖော်ပြသည်။

2 ။ CSV ဖိုင်များကိုလုပ်ဆောင်ရန်နှင့်စာမျက်နှာများတွင်ဖော်ပြရန်အဆင့်များ

ထို့နောက် PHP ကို ​​CSV ဖိုင်များ, အပိုင်းအချက်အလက်များကိုလုပ်ဆောင်ရန်နှင့် Pagination display ၏ function ကိုအကောင်အထည်ဖော်ရန် PHP ကိုအသုံးပြုပါမည်။

1 ။ CSV ဖိုင်ကိုဖတ်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့တွင်အသုံးပြုသူသတင်းအချက်အလက်သို့မဟုတ်အခြားအချက်အလက်အမျိုးအစားများကိုသိမ်းဆည်းထားသော CSV ဖိုင်ရှိသည်ဆိုပါစို့။ ဒီဖိုင်ကိုဖတ်ပြီး php ခင်းကျင်းထဲကိုပြောင်းဖို့လိုတယ်။

 <?php
// ဖတ် CSV စာချုပ်စာတမ်း
$file = 'data.csv';  // ယူဆချက် CSV စာချုပ်စာတမ်း名为 data.csv
$data = array();

if (($handle = fopen($file, 'r')) !== false) {
    while (($row = fgetcsv($handle)) !== false) {
        $data[] = $row;  // ဒေတာတစ်ခုချင်းစီကိုခင်းကျင်းထဲသို့ချွေတာပါ
    }
    fclose($handle);
} else {
    die('စာချုပ်စာတမ်း打开失败!');
}
?>

2 ။ ဒေတာကိုခွဲရန် array_chunk ကို သုံးပါ

ကျွန်ုပ်တို့သည်စာမျက်နှာတစ်ခု၏မှတ်တမ်း 10 ခုကိုပြသလိုပါကစာမျက်နှာတစ်ခုချင်းစီတွင်ကွက်လပ် 10 ခုခွဲရန် array_chunk function ကိုသုံးနိုင်သည်ဆိုပါစို့။

 <?php
// စာမျက်နှာတစ်ခုချင်းစီကိုပြသ 10 အချက်များ
$page_size = 10;
$data_chunked = array_chunk($data, $page_size);
?>

ဤအချက်မှာ ဒေါ်လာဒေတာ array သည်သေးငယ်သော array များပါ 0 င်မည်။

3 ။ Paging function ကိုအကောင်အထည်ဖော်ပါ

ထို့နောက်ကျွန်ုပ်တို့သည် paging function ကိုအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ URL parameters များကိုမေးမြန်းခြင်းအားဖြင့်လက်ရှိစာမျက်နှာကိုဆုံးဖြတ်ပါ, ပြီးနောက်သက်ဆိုင်ရာစာမျက်နှာ၏အချက်အလက်များကိုဖော်ပြပါ။

 <?php
// လက်ရှိစာမျက်နှာနံပါတ်ကိုရယူပါ,ပုံမှန်တန်ဖိုးဖြစ်ပါတယ် 1
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$total_pages = count($data_chunked);  // စုစုပေါင်းစာမျက်နှာရေတွက်

// စာမျက်နှာ parametersers မမှန်ကန်လျှင်,ပထမစာမျက်နှာကိုပုံမှန်အားဖြင့်ပြသထားတယ်
if ($page < 1 || $page > $total_pages) {
    $page = 1;
}

// လက်ရှိစာမျက်နှာ၏အချက်အလက်များကိုရယူပါ
$current_page_data = $data_chunked[$page - 1];
?>

4 ။ လက်ရှိစာမျက်နှာ၏အချက်အလက်များကိုပြပါ

ယခုကျွန်ုပ်တို့သည်လက်ရှိစာမျက်နှာရှိအချက်အလက်များကိုပြသနိုင်သည်။ ဒေတာအပိုင်းတစ်ခုစီကိုအသုံးပြုသူအချက်အလက်တစ်ခုရှိသည်ဟုယူဆလျှင်ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုဝဘ်စာမျက်နှာပေါ်တွင်ပြသနိုင်သည်။

 <?php
echo "<h2>လက်ရှိနံပါတ် $page စာမျက်နှာဒေတာ:</h2>";

echo "<table border='1'>";
echo "<tr><th>အသုံးပြုသူ</th><th>စာပို့</th><th>တယ်လီဖုန်း</th></tr>";

foreach ($current_page_data as $row) {
    echo "<tr>";
    echo "<td>" . htmlspecialchars($row[0]) . "</td>";
    echo "<td>" . htmlspecialchars($row[1]) . "</td>";
    echo "<td>" . htmlspecialchars($row[2]) . "</td>";
    echo "</tr>";
}

echo "</table>";
?>

5 ။ Paging Navigation ကိုပြပါ

နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်အခြားစာမျက်နှာများကိုကြည့်ရှုနိုင်ရန်အတွက်စာမျက်နှာ၏အောက်ခြေရှိ Pagination Navigation ကိုပြသရန်လိုအပ်သည်။

 <?php
// Paging Navigation ကိုပြပါ
echo "<div>";
if ($page > 1) {
    echo "<a href='?page=" . ($page - 1) . "'>Page</a> ";
}
echo "လက်ရှိစာမျက်နှာ:$page / $total_pages ";
if ($page < $total_pages) {
    echo "<a href='?page=" . ($page + 1) . "'>နောက်စာမျက်နှာ</a>";
}
echo "</div>";
?>

6 ။ ပြီးပြည့်စုံသောကုဒ်ဥပမာ

အထက်ပါကုဒ်များအားလုံးကိုပေါင်းစပ်ပြီး PHP နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
// ဖတ် CSV စာချုပ်စာတမ်း
$file = 'data.csv';  // ယူဆချက် CSV စာချုပ်စာတမ်း名为 data.csv
$data = array();

if (($handle = fopen($file, 'r')) !== false) {
    while (($row = fgetcsv($handle)) !== false) {
        $data[] = $row;  // ဒေတာတစ်ခုချင်းစီကိုခင်းကျင်းထဲသို့ချွေတာပါ
    }
    fclose($handle);
} else {
    die('စာချုပ်စာတမ်း打开失败!');
}

// စာမျက်နှာတစ်ခုချင်းစီကိုပြသ 10 အချက်များ
$page_size = 10;
$data_chunked = array_chunk($data, $page_size);

// လက်ရှိစာမျက်နှာနံပါတ်ကိုရယူပါ,ပုံမှန်တန်ဖိုးဖြစ်ပါတယ် 1
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$total_pages = count($data_chunked);  // စုစုပေါင်းစာမျက်နှာရေတွက်

// စာမျက်နှာ parametersers မမှန်ကန်လျှင်,ပထမစာမျက်နှာကိုပုံမှန်အားဖြင့်ပြသထားတယ်
if ($page < 1 || $page > $total_pages) {
    $page = 1;
}

// လက်ရှိစာမျက်နှာ၏အချက်အလက်များကိုရယူပါ
$current_page_data = $data_chunked[$page - 1];

// 显示လက်ရှိစာမျက်နှာ的数据
echo "<h2>လက်ရှိနံပါတ် $page စာမျက်နှာဒေတာ:</h2>";

echo "<table border='1'>";
echo "<tr><th>အသုံးပြုသူ</th><th>စာပို့</th><th>တယ်လီဖုန်း</th></tr>";

foreach ($current_page_data as $row) {
    echo "<tr>";
    echo "<td>" . htmlspecialchars($row[0]) . "</td>";
    echo "<td>" . htmlspecialchars($row[1]) . "</td>";
    echo "<td>" . htmlspecialchars($row[2]) . "</td>";
    echo "</tr>";
}

echo "</table>";

// Paging Navigation ကိုပြပါ
echo "<div>";
if ($page > 1) {
    echo "<a href='?page=" . ($page - 1) . "'>Page</a> ";
}
echo "လက်ရှိစာမျက်နှာ:$page / $total_pages ";
if ($page < $total_pages) {
    echo "<a href='?page=" . ($page + 1) . "'>နောက်စာမျက်နှာ</a>";
}
echo "</div>";
?>

3 ။ အကျဉ်းချုပ်နှင့်ကျွမ်းကျင်မှု

အထက်ဖော်ပြပါဥပမာမှတစ်ဆင့် PHP ၏ Array_chunk function ကို CSV ဖိုင်တစ်ခုတွင်ခွဲထားရန်မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့နားလည်ပြီးဝက်ဘ်စာမျက်နှာပေါ်တွင်ဒေတာများကိုပြသရန် Paging function ကိုပေါင်းစပ်ရန်ကျွန်ုပ်တို့နားလည်ပါသည်။ အမှန်တကယ် application များအရအခြေခံစာဖြစ်ပွားခြင်းယုတ္တိဗေဒအပြင်အသုံးပြုသူအတွေ့အကြုံကို Ajax Loading data များကိုရှာဖွေခြင်း,

အမှန်တကယ်စီမံကိန်းများအတွက် CSV ဖိုင်ဒေတာများကိုပိုမိုကောင်းမွန်သောလုပ်ငန်းစဉ်အချက်အလက်များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်ရန်နှင့်ထိရောက်သော pagination display function ကိုနားလည်နိုင်သည်။