MySQL ဒေတာဘေ့စ်များကိုအသုံးချရန် PHP ကိုအသုံးပြုသောအခါဒေတာ paging သည်အလွန်အသုံးများသောနှင့်အရေးကြီးသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ Pagination သည်အချက်အလက်အမြောက်အများကိုတစ်ချိန်တည်း တင်. အသုံးပြုသူအတွေ့အကြုံတိုးတက်လာခြင်းကြောင့်ဖြစ်ပေါ်လာသောစွမ်းဆောင်ရည်ဖိအားကိုထိရောက်စွာလျှော့ချနိုင်သည်။ အထူးသဖြင့်ကြီးမားသောဒေတာပမာဏကိုမေးမြန်းခြင်းအတွက် Paging ဖြစ်စဉ်တွင်အထူးသဖြင့်လုံခြုံရေးနှင့်စွမ်းဆောင်ရည်ကိုသေချာစေရန်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များကိုမကြာခဏအသုံးပြုလေ့ရှိသည်။
ဤဆောင်းပါးသည် MySQLI_STMT :: Attr_et function ကိုပေါင်းစပ်။ စုံစမ်းမှုရလဒ်ကော်လံ၏အရှည်အရှည်အရှည်အရှည်အရှည်အရှည်ကိုမည်သို့ပြောင်းလဲနိုင်မည်ကိုအာရုံစိုက်ပါလိမ့်မည်။
MySQLI_STMT :: AttR_Get သည် MySQLI Office Orient-Oriented စတိုင်လ်ရှိနည်းလမ်းတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့်ကော်လံ၏ကြားခံအရှည် ( MySQLI_STMT_AXTUTE_AXDATE_AXDATE_MAX_Length ) နှင့်အခြားသတင်းအချက်အလက်များကိုသင်မေးမြန်းနိုင်ပါသည်။
ဒီ function ကို၏ပုံမှန်အသုံးပြုမှု:
$length = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
ကြီးမားသောလယ်ကွင်းများ ( စာသား , Blob ) နှင့်ဆက်ဆံရာတွင်၎င်းသည်အလွန်အသုံးဝင်သည်။
Pagination အတွက်အသုံးများသော SQL ကြေငြာချက်သည်အောက်ပါအတိုင်းဖြစ်သည် -
SELECT column1, column2 FROM table_name LIMIT ?, ?
၎င်းတို့အနက်ပထမမေးခွန်းအမှတ်အသားသည် Offset ဖြစ်ပြီးဒုတိယမေးခွန်းအမှတ်အသားသည်စာမျက်နှာတစ်ခုစီတွင်ဖော်ပြထားသောမှတ်တမ်းအရေအတွက်ဖြစ်သည်။
PHP တွင် Proprocessing ထုတ်ပြန်ကြေငြာချက်သည်ဤ parameter နှစ်ခုကိုချည်နှောင်ပြီးမှစုံစမ်းမှုကိုပြောင်းလဲခြင်းအားဖြင့်မျဉ်းကြောင်းဖြင့်လိုင်းဖြင့်လိုင်းဖြင့်ရရှိသည်။
Pagging တွင် Query Field အရှည်သည်မသေချာမရေရာပါကကြိုတင်ပြင်ဆင်မှုအမြင့်ဆုံးအရှည်ကိုသိရှိနိုင်ပြီးအချက်အလက်များကိုကြိုတင်သိရှိထားခြင်းကအချက်အလက်များကိုရှောင်ရှားနိုင်ပြီးအချက်အလက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။
ဥပမာအားဖြင့်, ရလဒ် variable ကို binding variable ကိုလူသိများသောအခါ, ကော်လံအရှည်လူသိများပါကသက်ဆိုင်ရာအရှည်၏ကြားခံ
အောက်ဖော်ပြပါဥပမာသည် BeFing query တွင်ကော်လံအရှည်ကိုမည်သို့ရယူရမည်ကိုပြသပြီးရလဒ်ကို MySQLI_STMT :: Attr_et :: attri_et_get ဖြင့်ပေါင်းစပ်ထားသောရလဒ်ကိုဖြည့်စွက်သည်။
<?php
$mysqli = new mysqli('m66.net', 'username', 'password', 'database');
if ($mysqli->connect_errno) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$pageSize = 10;
$offset = ($page - 1) * $pageSize;
$sql = "SELECT id, title FROM articles LIMIT ?, ?";
$stmt = $mysqli->prepare($sql);
if (!$stmt) {
die("Preprocessing မအောင်မြင်ပါ: " . $mysqli->error);
}
// Paging parameters တွေကိုချည်နှောင်ခြင်း
$stmt->bind_param('ii', $offset, $pageSize);
$stmt->execute();
// ကော်လံအရှည် attribute ကိုရယူပါ,MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH ကော်လံ၏အမြင့်ဆုံးကြားခံအရှည်ပြန်လာ
$maxLength = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
// ဒီနေရာမှာသရုပ်ပြဘို့,ငါတို့သာဒုတိယကော်လံကိုအာရုံစိုက်ပါစေဆိုပါစို့(title)အရှည်
// metadata မှတဆင့်လယ်ပြင်အရှည်ရယူပါ(ပိုမိုအသေးစိတ်နည်းလမ်းများများသောအားဖြင့်လိုအပ်သည် get_result() သို့မဟုတ် fetch_fields())
// binding ရလဒ် variable တွေကို
$id = null;
$title = null;
$stmt->bind_result($id, $title);
// ဒေတာကိုဖတ်ပါ
while ($stmt->fetch()) {
echo "ID: $id, ခေါင်းစဉ်အရှည် buffer အရွယ်အစား: $maxLength, ဘဲှ့: $title<br>";
}
$stmt->close();
$mysqli->close();
?>
ဤဥပမာတွင် Att_Get သည် လက်ရှိ PreProcessing Statement ကော်လံ၏အများဆုံးကြားခံအရှည်ကိုပြန်ပို့သည်။ ဤတန်ဖိုးကို အသုံးပြု. ကြီးမားသောလယ်ကွင်းများကိုမဖြတ်နိုင်စေရန်အစီအစဉ်တွင်ကြားခံအဖွဲ့အစည်းများခွဲဝေချထားပေးရန်သင်အသုံးပြုနိုင်သည်။
MySQLI_STMT :: AttR_Get သည် MySQLI Proprocessing Statement ကိုတိကျသောအရှည်သတင်းအချက်အလက်များကိုမပြန်မီမှန်ကန်စွာအကောင်အထည်ဖော်ရန်လိုအပ်သည်။
Multi-collum-caffies များအတွက် attr_get သည် ခြုံငုံ attribute ကိုပြန်ပို့ပေးပြီးကော်လံတစ်ခုတည်းအတွက်အရှည်မပြတ်နိုင်ပါ။ အကယ်. ကော်လံတစ်ခုတည်း၏အရှည်ကိုတိကျစွာထိန်းချုပ်ရန်လိုအပ်ပါက MySQLI_RESELT :: FETLATIOND ကိုပေါင်းစပ်ရန်အကြံပြုသည်။
ကြီးမားသောကွက်လပ်များကိုပြုပြင်သည့်အခါ, ဤနည်းလမ်းကိုကျိုးကြောင်းဆီလျော်စွာဖြင့်ဖြည့်ဆည်းခြင်းရလဒ်ကိုအသုံးပြုခြင်းသည်အချက်အလက်သမာဓိကိုတိုးတက်စေနိုင်သည်။
MySQLI_STMT :: Attr_et သည် MySQLI Preprocessing ထုတ်ပြန်ချက်များတွင်အသုံးဝင်သောနည်းလမ်းဖြစ်သည်။ အထူးသဖြင့်မာနော်မမှတ်မိသောအရှည်အကွက်များကိုမသေချာမရေရာမှုများကိုရှာဖွေခြင်းတွင်အထူးသဖြင့် developer များအား developer များကိုရှာဖွေတွေ့ရှိရန်နှင့်ဒေတာများကိုဖြတ်တောက်ခြင်းကိုရှောင်ရှားနိုင်သည်။ Preprocessing ထုတ်ပြန်ချက်များနှင့် paging ယုတ္တိဗေဒကိုပေါင်းစပ်ခြင်းကဒေတာစစ်ဆင်ရေးများ၏လုံခြုံရေးနှင့်ထိရောက်မှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။