AJAX ဒေတာဘေ့စ်နမူနာ
AJAX သည် ဒေတာဘေ့စ်တစ်ခုနှင့် အပြန်အလှန် ဆက်သွယ်ပြောဆိုမှုအတွက် အသုံးပြုနိုင်သည်။
AJAX ဒေတာဘေ့စ်နမူနာ
အောက်ဖော်ပြပါ ဥပမာသည် ဝဘ်စာမျက်နှာတစ်ခုသည် AJAX နှင့် ဒေတာဘေ့စ်တစ်ခုမှ အချက်အလက်များကို မည်သို့ရယူနိုင်ကြောင်း သရုပ်ပြပါမည်။
ဥပမာ
Customer info will be listed here...
နမူနာရှင်းပြထားသည် - showCustomer() လုပ်ဆောင်ချက်
အသုံးပြုသူတစ်ဦးသည် အထက်ဖော်ပြပါစာရင်းတွင် ဖောက်သည်တစ်ဦးကို ရွေးချယ်သောအခါ၊ ခေါ်သောလုပ်ဆောင်ချက်ကို လုပ်ဆောင် showCustomer()
သည်။ လုပ်ဆောင်ချက်ကို onchange
အဖြစ်အပျက်က အစပျိုးသည်-
ဖောက်သည်
function showCustomer(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
}
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
document.getElementById("txtHint").innerHTML = this.responseText;
}
xhttp.open("GET", "getcustomer.php?q="+str);
xhttp.send();
}
showCustomer()
လုပ်ဆောင်ချက်သည် အောက်ပါအတိုင်း လုပ်ဆောင်သည် -
- ဝယ်ယူသူအား ရွေးချယ်ထားခြင်း ရှိမရှိ စစ်ဆေးပါ။
- XMLHttpRequest object တစ်ခုကို ဖန်တီးပါ။
- ဆာဗာတုံ့ပြန်မှု အဆင်သင့်ဖြစ်သောအခါတွင် လုပ်ဆောင်ရန် လုပ်ဆောင်ချက်ကို ဖန်တီးပါ။
- တောင်းဆိုချက်ကို ဆာဗာပေါ်ရှိ ဖိုင်တစ်ခုသို့ ပေးပို့ပါ။
- ကန့်သတ်ချက် (q) ကို URL ( dropdown list ၏အကြောင်းအရာနှင့်အတူ) သို့ထည့်ထားကြောင်းသတိပြုပါ။
AJAX ဆာဗာစာမျက်နှာ
အထက်ဖော်ပြပါ JavaScript မှခေါ်သော ဆာဗာရှိ စာမျက်နှာသည် "getcustomer.php" ဟုခေါ်သော PHP ဖိုင်တစ်ခုဖြစ်သည်။
"getcustomer.php" ရှိ အရင်းအမြစ်ကုဒ်သည် ဒေတာဘေ့စ်တစ်ခုအား စုံစမ်းမေးမြန်းမှုကို လုပ်ဆောင်ပြီး HTML ဇယားတစ်ခုတွင် ရလဒ်ကို ပြန်ပေးသည်-
<?php
$mysqli = new mysqli("servername", "username",
"password", "dbname");
if($mysqli->connect_error) {
exit('Could not connect');
}
$sql = "SELECT customerid, companyname,
contactname, address, city, postalcode, country
FROM customers WHERE
customerid = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $_GET['q']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($cid,
$cname, $name, $adr, $city, $pcode, $country);
$stmt->fetch();
$stmt->close();
echo "<table>";
echo "<tr>";
echo "<th>CustomerID</th>";
echo
"<td>" . $cid . "</td>";
echo "<th>CompanyName</th>";
echo "<td>" . $cname
. "</td>";
echo "<th>ContactName</th>";
echo "<td>" . $name . "</td>";
echo "<th>Address</th>";
echo "<td>" .
$adr . "</td>";
echo "<th>City</th>";
echo "<td>" . $city . "</td>";
echo "<th>PostalCode</th>";
echo "<td>" .
$pcode . "</td>";
echo "<th>Country</th>";
echo "<td>" . $country .
"</td>";
echo "</tr>";
echo "</table>";
?>