လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement မှတဆင့်တက်ကြွသောအကွက်ကိုအကောင်အထည်ဖော်ရန် :: Rowcount

PDostatement မှတဆင့်တက်ကြွသောအကွက်ကိုအကောင်အထည်ဖော်ရန် :: Rowcount

gitbox 2025-05-19

PHP တွင် Paging သည်အထူးသဖြင့်အချက်အလက်အမြောက်အများကိုကိုင်တွယ်သောအခါအထူးလိုအပ်ချက်တစ်ခုဖြစ်သည်။ Pagination သည်လျှောက်လွှာစွမ်းဆောင်ရည်နှင့်အသုံးပြုသူအတွေ့အကြုံကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ ကျွန်ုပ်တို့သည်များသောအားဖြင့် ကန့ ်သတ် ချက်ကို အသုံးပြု. Query ရလဒ်အရေအတွက်ကိုကန့်သတ်ရန်ဝါကျများကိုအသုံးပြုလေ့ရှိသည်။ သို့သော်ပြောင်းလဲနေသောအတိုးအကျယ်အ 0 န်းစုံစမ်းရေးလုပ်ငန်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။ ဤတွင်ကျွန်ုပ်တို့သည် PDostatement :: Rowcount ()) ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးမည်။

1 ။ PDostatement :: Rowcount ကဘာလဲ။

PDostatement :: Rowcount () နည်းလမ်းကိုနောက်ဆုံး SQL ကွပ်မျက်မှုကြောင့်ထိခိုက်သောအတန်းအရေအတွက်ကိုရရှိရန်အသုံးပြုသည်။ ဤနည်းလမ်းကို SQL query (အထူးသဖြင့် Select Statement) မှပြန်လာသောအတန်းအရေအတွက်ကိုပြန်လည်ရယူရန်အသုံးပြုနိုင်သည်။ စုံစမ်းစစ်ဆေးမှုရလဒ်တွင်စုစုပေါင်းအတန်းအရေအတွက်ကိုသိခြင်းအားဖြင့် paging အချက်အလက်ကိုတွက်ချက်ရန်အလွန်အထောက်အကူပြုသည်။

သို့သော်လည်းဒေတာဘေ့စ်များနှင့်မေးမြန်းချက်အားလုံးသည် rowcount () နည်းလမ်းကိုအထောက်အကူပြုသည်မဟုတ်ကြောင်းသတိပြုသင့်သည်။ အချို့သောမေးမြန်းချက်များအတွက် (ထိုကဲ့သို့သော Select ကဲ့သို့) အတွက်ဤနည်းလမ်း၏အပြုအမူကွဲပြားနိုင်သည်။

2 ။ Pagination query အတွက်အခြေခံအတွေးအခေါ်များ

Pagination မေးမြန်းချက်များသည်များသောအားဖြင့်သတင်းအချက်အလက်နှစ်ခုကိုမှီခိုအားထားခြင်းဖြစ်သည်။

  • စုစုပေါင်းမှတ်တမ်းများ - ဒေတာဘေ့စ်တွင်မှတ်တမ်းမည်မျှရှိသနည်း။

  • လက်ရှိစာမျက်နှာဒေတာ - လက်ရှိစာမျက်နှာနံပါတ်ကို အခြေခံ. သက်ဆိုင်ရာအချက်အလက်များကိုရှာဖွေခြင်းနှင့်စာမျက်နှာတစ်ခုစီတွင်ဖော်ပြထားသောမှတ်တမ်းအရေအတွက်ကိုမေးမြန်းပါ။

ကျွန်ုပ်တို့သည်အောက်ပါအဆင့်များမှတဆင့်တက်ကြွသောအကောင်အထည်ဖော်မှုလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်မည်။

  1. ( ရေတွက် ခြင်းဖြင့်) စုစုပေါင်းမှတ်တမ်းများကိုပထမ ဦး ဆုံးရရန်ပထမ ဦး ဆုံးရှာဖွေမှုကို ဦး စွာပြုလုပ်ပါ။

  2. လက်ရှိစာမျက်နှာ၏အချက်အလက်များကိုရယူရန် ကန့်သတ်ချက်များ နှင့် offset ဝါးများကိုအသုံးပြုပါ။

  3. စာမျက်နှာများစုစုပေါင်းအရေအတွက်ကိုတွက်ချက်ပြီး paging navigation link ကိုထုတ်လုပ်ပါ။

3 ။ သင်္ကေတများကိုအကောင်အထည်ဖော်ပါ

အောက်ပါနမူနာကုဒ်သည် 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>';
?>

4 ။ ကုဒ်ဖော်ပြချက်

  1. ဒေတာဘေ့စ်ဆက်သွယ်မှု - MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန် PDO ကို အသုံးပြု. လိုအပ်သောအမှားကိုင်တွယ်ရွေးချယ်မှုများကိုသတ်မှတ်ရန်ကျွန်ုပ်တို့ PDO ကိုအသုံးပြုသည်။

  2. စုစုပေါင်းမှတ်တမ်းများ - ပထမအချက်အနေဖြင့်ဒေတာဘေ့စ်ရှိမှတ်တမ်းများ စုစုပေါင်း (*) ကိုရွေးပါ။ ဤရလဒ်သည်စာနာထောက်ထားမှုဆိုင်ရာတွက်ချက်မှုများအတွက်အခြေခံဖြစ်သည်။

  3. Dynamic Paging : လက်ရှိစာမျက်နှာနံပါတ် $ စာမျက်နှာကို အခြေခံ. Offset တွက်ချက်တွက်ချက်ခြင်းနှင့်စာမျက်နှာနံပါတ် $ RegonsperPage ကို မှတ်တမ်းတင်ပြီးလျှင်လက်ရှိစာမျက်နှာ၏အချက်အလက်များကိုရယူရန် ကန့်သတ်ချက် နှင့် offset ကို သုံးပါ။

  4. Paggination Navigation- Pages $ စုစုပေါင်းအရေအတွက်ကိုတွက်ချက်ပါ ကျွန်ုပ်တို့သည် http://gitbox.net/your_page.php?ppage=x ကို Pagination Navigation ကိုအကောင်အထည်ဖော်ရန်အသုံးပြုသည်။ X သည်စာမျက်နှာနံပါတ်ဖြစ်သည်။

5 ။ သိကောင်းစရာများ

  • PDostatement :: Rowcount () နည်းလမ်းသည်အချို့သောဒေတာဘေ့စ်များ (ဥပမာ MySQL ကဲ့သို့သောအသေးစိတ်အချက်အလက်များ (ဥပမာ Postgresql ကဲ့သို့) ကိုရွေးချယ်ထားသော ဖော်ပြချက်များအပေါ်ထိခိုက်နစ်နာမှုပြဌာန်းချက်များကိုမှန်ကန်စွာပြန်ပို့နိုင်သည်။ Paging ၏တိကျမှန်ကန်မှုကိုသေချာစေရန်ကျွန်ုပ်တို့သည်များသောအားဖြင့်စုစုပေါင်းမှတ်တမ်းများရရှိရန်အတွက်သီးခြား (*) သီးခြားစီပြုလုပ်ရန်လိုအပ်သည်။

  • အညွှန်းရှာဖွေရန်အညွှန်းကိုတည်ဆောက်သည့်အခါစာမျက်နှာတစ်ခုစီတွင်ဖော်ပြထားသောမှတ်တမ်းအရေအတွက်ကိုတိကျစွာလိုအပ်ချက်များအရ,

6 ။ အကျဉ်းချုပ်

စုစုပေါင်းမှတ်တမ်းများရရှိရန် PDostatement :: Rowcount () နည်းလမ်းကို အသုံးပြုခြင်းကိုအသုံးပြုခြင်းသည်စုစုပေါင်းမှတ်တမ်းများကိုရယူရန်စုံစမ်းမှုကိုအသုံးပြုခြင်းသည်အကျိုးရှိစွာပြောင်းလဲနေသောအသည်းအသန်မှု query function ကိုနားလည်သဘောပေါက်ရန်ကူညီနိုင်သည်။ အကျိုးသင့်အကြောင်းသင့်ရှိသောအကာအကွယ်အရအသုံးပြုသူများသည်အသုံး 0 င်မှု၏အသုံး 0 င်မှုနှင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။