လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင် function () function ကို အသုံးပြု. Paging နှင့် sorting function များကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။ ရှုပ်ထွေးသောအခြေအနေများတွင် application ၏လျှောက်လွှာစွမ်းရည်ကိုစူးစမ်းလေ့လာပါ

PHP တွင် function () function ကို အသုံးပြု. Paging နှင့် sorting function များကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။ ရှုပ်ထွေးသောအခြေအနေများတွင် application ၏လျှောက်လွှာစွမ်းရည်ကိုစူးစမ်းလေ့လာပါ

gitbox 2025-05-06

MySQL databases များကိုစီမံခန့်ခွဲရန် PHP ကိုအသုံးပြုသောအခါ MySQLI extension မျိုးစုံကို အသုံးပြု. MySQLI extension ကိုအသုံးပြုလေ့ရှိသည်။ ဤ Multi-Statement query query ena ်ဌာန်းချက်တွင် Next_result () သည် developer များစုံစမ်းမှုတစ်ခုစီ၏ရလဒ်အစုကိုတဖြည်းဖြည်းချင်းဝင်ရောက်ခွင့်ပြုသည့်အလွန်အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤအခြေခံ function အပြင် Next_result () သည် ရှုပ်ထွေးသောအခြေအနေများတွင် paging နှင့် sorting ကဲ့သို့သောအဆင့်မြင့်လုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်လည်းကူညီနိုင်သည်။

ဤဆောင်းပါးသည် Pagresult () ကို Pagination နှင့် Sorting တွင်မည်သို့အသုံးပြုရမည်ကိုပြသရန်အမှန်တကယ်ကုဒ်များကိုပေါင်းစပ်မည်, အထူးသဖြင့်ဒေတာအပိုင်းအစများအားတောင်းဆိုမှုတစ်ခုတည်းကိုဖြည့်စွက်လိုပါက,

Next_result () ကဘာလဲ။

Next_Result () သည် MySQLI အရာဝတ်ထုတွင်ဖော်ပြချက်အမြောက်အများပါ 0 င်သော query ရလဒ်များကိုလုပ်ဆောင်ရန်အသုံးပြုသောနည်းလမ်းဖြစ်သည်။ SQLs မျိုးစုံကိုကွပ်မျက်သည့်အခါပထမရလဒ်ကို စတိုး () သို့မဟုတ် use_result () နှင့် Next_result () နှင့် Next_result () မှတဆင့်ရရှိသောနောက်ရလဒ်သို့ပြောင်းရွှေ့ရန်အသုံးပြုသည်။

အခြေခံ syntax:

 $mysqli->next_result();

အဘယ်ကြောင့် paging နှင့် sorting ကိုအကောင်အထည်ဖော်ရန် Next_result () ကို အဘယ်ကြောင့်အသုံးပြု?

အသုံးချပရိုဂရမ်အများစုတွင်အများအားဖြင့် pagl quant query ကို ကန့်သတ်ချက် နှင့် အကန့်အသတ် ဖြင့်ပေးပို့ခြင်းဖြင့်ပြုလုပ်လေ့ရှိသည်။ သို့သော်တစ်ခါတစ်ရံတွင်ဖောက်သည်များနှင့်ဒေတာဘေ့စ်များအကြားအပြန်အလှန်ဆက်သွယ်မှုအရေအတွက်ကိုတိုးမြှင့်နိုင်ရန်သို့မဟုတ် 0 န်ဆောင်မှုခံယူသူများနှင့်ဒေတာဘေ့စ်များအကြားအပြန်အလှန်ဆက်သွယ်မှုအရေအတွက်ကိုလျှော့ချရန်နှင့်တစ်ပြိုင်နက်တည်းတွင် paged data blocks သို့မဟုတ်ကွဲပြားခြားနားသောအမျိုးမျိုးသောရလဒ်များကိုတစ်ပြိုင်နက်တည်းပေးပို့ချင်ပေမည်။ ဤသည်မှာ Next_result () သည် အသုံးဝင်သောနေရာဖြစ်သည်။

ဥပမာ - စာတိုဒေတာနှင့်စုစုပေါင်းမှတ်တမ်းများကိုတောင်းဆိုပါ

အသုံးပြုသူစာရင်းကိုဥပမာတစ်ခုအနေနှင့်ယူကြပါစို့။

  1. လက်ရှိစာမျက်နှာအတွက်ဒေတာ (sort နှင့်အတူ);

  2. စုစုပေါင်းမှတ်တမ်းများ (Pagination Navigation အတွက်) ။

 <?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$pageSize = 10;
$offset = ($page - 1) * $pageSize;
$sortColumn = isset($_GET['sort']) ? $_GET['sort'] : 'created_at';
$sortOrder = (isset($_GET['order']) && strtolower($_GET['order']) === 'asc') ? 'ASC' : 'DESC';

// မှတ်သားSQLသွင်းခြင်း,ဤနေရာတွင်အပြောင်းအလဲနဲ့ရိုးရှင်း
$sql = "
    SELECT id, username, email, created_at 
    FROM users 
    ORDER BY $sortColumn $sortOrder 
    LIMIT $offset, $pageSize;
    
    SELECT COUNT(*) as total FROM users;
";

if ($mysqli->multi_query($sql)) {
    // ပထမရလဒ် set:Paginated ဒေတာ
    if ($result = $mysqli->store_result()) {
        echo "<h3>လက်ရှိစာမျက်နှာအသုံးပြုသူစာရင်း</h3><ul>";
        while ($row = $result->fetch_assoc()) {
            echo "<li>{$row['username']} ({$row['email']})</li>";
        }
        echo "</ul>";
        $result->free();
    }

    // လာမယ့်ရလဒ်ကိုပြောင်းပါ:စုစုပေါင်းမှတ်တမ်းများ
    if ($mysqli->next_result()) {
        if ($countResult = $mysqli->store_result()) {
            $countRow = $countResult->fetch_assoc();
            $total = $countRow['total'];
            $countResult->free();

            $totalPages = ceil($total / $pageSize);
            echo "<p>အများအပြားရှိတတ်သော {$totalPages} စာမျက်နှာ,စုစုပေါင်းမှတ်တမ်းများ:{$total}</p>";
        }
    }
} else {
    echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}

$mysqli->close();
?>

အဓိကအချက်များကိုဥပမာတွင်ပါ 0 င်သည်။

  • Multi_query () ကို sqls မျိုးစုံ execute လုပ်ရန်အသုံးပြုသည်။

  • ရလဒ်တစ်ခုစီကိုရယူရန် Store_Result () ကို သုံးပါ။

  • နောက်ရလဒ်သို့ပြောင်းရွှေ့ရန် Next_Result () ကို သုံးပါ။

  • sorting fields နှင့် sorting နည်းလမ်းများ sorting ကို dynonically ပံ့ပိုးပေး။

ပိုမိုရှုပ်ထွေးသောမြင်ကွင်းများ - Pagent Multiple Multiple Multiple Multiple Multages အမျိုးမျိုးဖြင့်ရယူပါ

ကျွန်ုပ်တို့သည် "ဖန်တီးထားသောအချိန်" နှင့် "sorted time" စံချိန်တွင် "sorted time" Record Record ကိုရယူလိုပါကဤအရာကိုကျွန်ုပ်တို့ရေးနိုင်သည်။

 $sql = "
    SELECT id, username, email FROM users ORDER BY created_at DESC LIMIT 0,10;
    SELECT id, username, email FROM users ORDER BY username ASC LIMIT 0,10;
";

နောက်ဒေတာတစ်ခုစီကိုပြောင်းလဲရန် Next_result () ကို သုံးပါ။

အကြံပေးချက်များ

  • SQL Injection ကိုရှောင်ကြဉ်ပါ။

  • ၎င်းကိုအသုံးမပြုမီ, ရလဒ်ပိုများများရှိမရှိဆုံးဖြတ်ပါ။

  • အကယ်. သင်၏ဒေတာဘေ့စ်အလွှာသည် (orm ကိုအသုံးပြုသကဲ့သို့) encapsulated လျှင် (Orm) ကို အသုံးပြု. နောက်ခံ SQL ကိုကိုယ်တိုင်ကိုယ်ကျလုပ်ဆောင်ရန်လိုအပ်လိမ့်မည်။

အကျဉ်းချုပ်

Next_result () သည် များသောအားဖြင့် multi-statement query query ရလဒ်များကိုလုပ်ဆောင်ရန်အသုံးပြုသည်, အချို့သောအခြေအနေများတွင်၎င်းသည်သင်၏စနစ်ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်စေနိုင်သည်။

ဒီဆောင်းပါးမှာဥပမာတွေကတော့အကောင်းဆုံးလုပ်နိုင်တဲ့စီးပွားရေးအခြေအနေမျိုးကိုသင်စဉ်းစားဖူးသလား။ နောက်တစ် ဦး ကပိုပြီးလိမ္မာပါးနပ်စွာ () ကို သုံးရန်ကြိုဆိုပါသည်။