PHP တွင် Paging သည်အထူးသဖြင့်အချက်အလက်အမြောက်အများကိုကိုင်တွယ်သောအခါအထူးလိုအပ်ချက်တစ်ခုဖြစ်သည်။ Pagination သည်လျှောက်လွှာစွမ်းဆောင်ရည်နှင့်အသုံးပြုသူအတွေ့အကြုံကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ ကျွန်ုပ်တို့သည်များသောအားဖြင့် ကန့ ်သတ် ချက်ကို အသုံးပြု. Query ရလဒ်အရေအတွက်ကိုကန့်သတ်ရန်ဝါကျများကိုအသုံးပြုလေ့ရှိသည်။ သို့သော်ပြောင်းလဲနေသောအတိုးအကျယ်အ 0 န်းစုံစမ်းရေးလုပ်ငန်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။ ဤတွင်ကျွန်ုပ်တို့သည် PDostatement :: Rowcount ()) ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးမည်။
PDostatement :: Rowcount () နည်းလမ်းကိုနောက်ဆုံး SQL ကွပ်မျက်မှုကြောင့်ထိခိုက်သောအတန်းအရေအတွက်ကိုရရှိရန်အသုံးပြုသည်။ ဤနည်းလမ်းကို SQL query (အထူးသဖြင့် Select Statement) မှပြန်လာသောအတန်းအရေအတွက်ကိုပြန်လည်ရယူရန်အသုံးပြုနိုင်သည်။ စုံစမ်းစစ်ဆေးမှုရလဒ်တွင်စုစုပေါင်းအတန်းအရေအတွက်ကိုသိခြင်းအားဖြင့် paging အချက်အလက်ကိုတွက်ချက်ရန်အလွန်အထောက်အကူပြုသည်။
သို့သော်လည်းဒေတာဘေ့စ်များနှင့်မေးမြန်းချက်အားလုံးသည် rowcount () နည်းလမ်းကိုအထောက်အကူပြုသည်မဟုတ်ကြောင်းသတိပြုသင့်သည်။ အချို့သောမေးမြန်းချက်များအတွက် (ထိုကဲ့သို့သော Select ကဲ့သို့) အတွက်ဤနည်းလမ်း၏အပြုအမူကွဲပြားနိုင်သည်။
Pagination မေးမြန်းချက်များသည်များသောအားဖြင့်သတင်းအချက်အလက်နှစ်ခုကိုမှီခိုအားထားခြင်းဖြစ်သည်။
စုစုပေါင်းမှတ်တမ်းများ - ဒေတာဘေ့စ်တွင်မှတ်တမ်းမည်မျှရှိသနည်း။
လက်ရှိစာမျက်နှာဒေတာ - လက်ရှိစာမျက်နှာနံပါတ်ကို အခြေခံ. သက်ဆိုင်ရာအချက်အလက်များကိုရှာဖွေခြင်းနှင့်စာမျက်နှာတစ်ခုစီတွင်ဖော်ပြထားသောမှတ်တမ်းအရေအတွက်ကိုမေးမြန်းပါ။
ကျွန်ုပ်တို့သည်အောက်ပါအဆင့်များမှတဆင့်တက်ကြွသောအကောင်အထည်ဖော်မှုလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်မည်။
( ရေတွက် ခြင်းဖြင့်) စုစုပေါင်းမှတ်တမ်းများကိုပထမ ဦး ဆုံးရရန်ပထမ ဦး ဆုံးရှာဖွေမှုကို ဦး စွာပြုလုပ်ပါ။
လက်ရှိစာမျက်နှာ၏အချက်အလက်များကိုရယူရန် ကန့်သတ်ချက်များ နှင့် offset ဝါးများကိုအသုံးပြုပါ။
စာမျက်နှာများစုစုပေါင်းအရေအတွက်ကိုတွက်ချက်ပြီး paging navigation link ကိုထုတ်လုပ်ပါ။
အောက်ပါနမူနာကုဒ်သည် PDostatement မှတစ်ဆင့်ပြောင်းလဲနေသောအပြားပြည့်စုံခြင်းလုပ်ငန်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည်။ :: Rowcount () နည်းလမ်း -
<?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$dsn = 'mysql:host=localhost;dbname=your_database';
$username = 'your_username';
$password = 'your_password';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];
// ဖန်တီး PDO နမူနာ
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
echo 'ဆက်သွယ်မှုမအောင်မြင်ပါ: ' . $e->getMessage();
exit;
}
// စာမျက်နှာတစ်ခုချင်းစီကိုပြသထားသည့်မှတ်တမ်းအရေအတွက်ကိုသတ်မှတ်ပါ
$recordsPerPage = 10;
// လက်ရှိစာမျက်နှာရေတွက်ရယူပါ,default သည်ပထမဆုံးစာမျက်နှာဖြစ်သည်
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($page < 1) $page = 1;
// စုံစမ်းမှု၏ offset တွက်ချက်
$offset = ($page - 1) * $recordsPerPage;
// မှတ်တမ်းများစုစုပေါင်းအရေအတွက်ကိုရယူပါ
$sqlCount = 'SELECT COUNT(*) FROM your_table';
$stmtCount = $pdo->query($sqlCount);
$totalRecords = $stmtCount->fetchColumn();
// အသုံးပြု LIMIT နှင့် OFFSET လက်ရှိစာမျက်နှာဒေတာကိုမေးမြန်းပါ
$sql = 'SELECT * FROM your_table LIMIT :limit OFFSET :offset';
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':limit', $recordsPerPage, PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();
// စုံစမ်းမှုရလဒ်များကိုရယူပါ
$rows = $stmt->fetchAll();
// စာမျက်နှာများစုစုပေါင်းအရေအတွက်ကိုတွက်ချက်ပါ
$totalPages = ceil($totalRecords / $recordsPerPage);
// output ကိုလက်ရှိစာမျက်နှာဒေတာ
echo "<h2>1 ။ $page စာမျက်နှာဒေတာ:</h2>";
foreach ($rows as $row) {
echo '<pre>';
print_r($row);
echo '</pre>';
}
// Paging Navigation ကိုပြပါ
echo '<div>';
if ($page > 1) {
echo '<a href="http://gitbox.net/your_page.php?page=' . ($page - 1) . '">Page</a> ';
}
if ($page < $totalPages) {
echo '<a href="http://gitbox.net/your_page.php?page=' . ($page + 1) . '">နောက်စာမျက်နှာ</a>';
}
echo '</div>';
?>
ဒေတာဘေ့စ်ဆက်သွယ်မှု - MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန် PDO ကို အသုံးပြု. လိုအပ်သောအမှားကိုင်တွယ်ရွေးချယ်မှုများကိုသတ်မှတ်ရန်ကျွန်ုပ်တို့ PDO ကိုအသုံးပြုသည်။
စုစုပေါင်းမှတ်တမ်းများ - ပထမအချက်အနေဖြင့်ဒေတာဘေ့စ်ရှိမှတ်တမ်းများ စုစုပေါင်း (*) ကိုရွေးပါ။ ဤရလဒ်သည်စာနာထောက်ထားမှုဆိုင်ရာတွက်ချက်မှုများအတွက်အခြေခံဖြစ်သည်။
Dynamic Paging : လက်ရှိစာမျက်နှာနံပါတ် $ စာမျက်နှာကို အခြေခံ. Offset တွက်ချက်တွက်ချက်ခြင်းနှင့်စာမျက်နှာနံပါတ် $ RegonsperPage ကို မှတ်တမ်းတင်ပြီးလျှင်လက်ရှိစာမျက်နှာ၏အချက်အလက်များကိုရယူရန် ကန့်သတ်ချက် နှင့် offset ကို သုံးပါ။
Paggination Navigation- Pages $ စုစုပေါင်းအရေအတွက်ကိုတွက်ချက်ပါ ။ ကျွန်ုပ်တို့သည် http://gitbox.net/your_page.php?ppage=x ကို Pagination Navigation ကိုအကောင်အထည်ဖော်ရန်အသုံးပြုသည်။ X သည်စာမျက်နှာနံပါတ်ဖြစ်သည်။
PDostatement :: Rowcount () နည်းလမ်းသည်အချို့သောဒေတာဘေ့စ်များ (ဥပမာ MySQL ကဲ့သို့သောအသေးစိတ်အချက်အလက်များ (ဥပမာ Postgresql ကဲ့သို့) ကိုရွေးချယ်ထားသော ဖော်ပြချက်များအပေါ်ထိခိုက်နစ်နာမှုပြဌာန်းချက်များကိုမှန်ကန်စွာပြန်ပို့နိုင်သည်။ Paging ၏တိကျမှန်ကန်မှုကိုသေချာစေရန်ကျွန်ုပ်တို့သည်များသောအားဖြင့်စုစုပေါင်းမှတ်တမ်းများရရှိရန်အတွက်သီးခြား (*) သီးခြားစီပြုလုပ်ရန်လိုအပ်သည်။
အညွှန်းရှာဖွေရန်အညွှန်းကိုတည်ဆောက်သည့်အခါစာမျက်နှာတစ်ခုစီတွင်ဖော်ပြထားသောမှတ်တမ်းအရေအတွက်ကိုတိကျစွာလိုအပ်ချက်များအရ,
စုစုပေါင်းမှတ်တမ်းများရရှိရန် PDostatement :: Rowcount () နည်းလမ်းကို အသုံးပြုခြင်းကိုအသုံးပြုခြင်းသည်စုစုပေါင်းမှတ်တမ်းများကိုရယူရန်စုံစမ်းမှုကိုအသုံးပြုခြင်းသည်အကျိုးရှိစွာပြောင်းလဲနေသောအသည်းအသန်မှု query function ကိုနားလည်သဘောပေါက်ရန်ကူညီနိုင်သည်။ အကျိုးသင့်အကြောင်းသင့်ရှိသောအကာအကွယ်အရအသုံးပြုသူများသည်အသုံး 0 င်မှု၏အသုံး 0 င်မှုနှင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။