နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းတွင် CSV ဖိုင်အချက်အလက်အမြောက်အများကိုကျွန်ုပ်တို့မကြာခဏလုပ်ဆောင်ရန်နှင့်စာမျက်နှာပေါ်တွင်ပြပါ။ PHP သည်ဤအလုပ်များကိုထိရောက်စွာဖြ ည့ ်ဆည်းပေးနိုင်ရန်အတွက်အင်အားကြီးမားသောလုပ်ဆောင်မှုများစွာကိုထောက်ပံ့ပေးသည်။
ဤဆောင်းပါးသည်သင် CSV ဖိုင်ဒေတာများကိုမည်သို့လုပ်ဆောင်ရန်နှင့် Paginated ကိုပြသရန်မည်သို့အသုံးပြုရမည်ကိုပြသသည့်ဥပမာတစ်ခုဖြင့်သင့်ကိုအဆင့်ဆင့်ကြည့်ရှုပါလိမ့်မည် ။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် 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 သည်စဉ်ဆက်မပြတ်ကိန်းတစ်ခုဖြစ်ကြောင်းဖော်ပြသည်။
ထို့နောက် PHP ကို CSV ဖိုင်များ, အပိုင်းအချက်အလက်များကိုလုပ်ဆောင်ရန်နှင့် Pagination display ၏ function ကိုအကောင်အထည်ဖော်ရန် PHP ကိုအသုံးပြုပါမည်။
ပထမ ဦး စွာကျွန်ုပ်တို့တွင်အသုံးပြုသူသတင်းအချက်အလက်သို့မဟုတ်အခြားအချက်အလက်အမျိုးအစားများကိုသိမ်းဆည်းထားသော 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('စာချုပ်စာတမ်း打开失败!');
}
?>
ကျွန်ုပ်တို့သည်စာမျက်နှာတစ်ခု၏မှတ်တမ်း 10 ခုကိုပြသလိုပါကစာမျက်နှာတစ်ခုချင်းစီတွင်ကွက်လပ် 10 ခုခွဲရန် array_chunk function ကိုသုံးနိုင်သည်ဆိုပါစို့။
<?php
// စာမျက်နှာတစ်ခုချင်းစီကိုပြသ 10 အချက်များ
$page_size = 10;
$data_chunked = array_chunk($data, $page_size);
?>
ဤအချက်မှာ ဒေါ်လာဒေတာ array သည်သေးငယ်သော array များပါ 0 င်မည်။
ထို့နောက်ကျွန်ုပ်တို့သည် 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];
?>
ယခုကျွန်ုပ်တို့သည်လက်ရှိစာမျက်နှာရှိအချက်အလက်များကိုပြသနိုင်သည်။ ဒေတာအပိုင်းတစ်ခုစီကိုအသုံးပြုသူအချက်အလက်တစ်ခုရှိသည်ဟုယူဆလျှင်ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုဝဘ်စာမျက်နှာပေါ်တွင်ပြသနိုင်သည်။
<?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>";
?>
နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်အခြားစာမျက်နှာများကိုကြည့်ရှုနိုင်ရန်အတွက်စာမျက်နှာ၏အောက်ခြေရှိ 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>";
?>
အထက်ပါကုဒ်များအားလုံးကိုပေါင်းစပ်ပြီး 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>";
?>
အထက်ဖော်ပြပါဥပမာမှတစ်ဆင့် PHP ၏ Array_chunk function ကို CSV ဖိုင်တစ်ခုတွင်ခွဲထားရန်မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့နားလည်ပြီးဝက်ဘ်စာမျက်နှာပေါ်တွင်ဒေတာများကိုပြသရန် Paging function ကိုပေါင်းစပ်ရန်ကျွန်ုပ်တို့နားလည်ပါသည်။ အမှန်တကယ် application များအရအခြေခံစာဖြစ်ပွားခြင်းယုတ္တိဗေဒအပြင်အသုံးပြုသူအတွေ့အကြုံကို Ajax Loading data များကိုရှာဖွေခြင်း,
အမှန်တကယ်စီမံကိန်းများအတွက် CSV ဖိုင်ဒေတာများကိုပိုမိုကောင်းမွန်သောလုပ်ငန်းစဉ်အချက်အလက်များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်ရန်နှင့်ထိရောက်သော pagination display function ကိုနားလည်နိုင်သည်။