PHP နှင့် AJAX MySQL အခြေခံ
- အရေးပိုက် စာရင်း AJAX XML
- နောက်ပိုင်း စာရင်း AJAX responseXML
AJAX ကို ဘဏ္ဍာင်ရုံ နှင့် အကူအညီသည့် အပြန်အလား ဆက်သွယ်ခြင်း အတွက် အသုံးပြုသည်
AJAX ဘဏ္ဍာင်ရုံ
AJAX ဘဏ္ဍာင်ရုံ အခြေခံ
နိုင်ငံခြား သုံးစွဲသူ တစ်ခု ကို ဆက်သွယ်ရန် နှင့် အော်ပိုက်အော်ပိုက် အခြေခံ အော်ပိုက်အော်ပိုက် ကို အော်ပိုက်အော်ပိုက် ကော်ပိုက်များ အချက်အလက်များ ကို ကူညီပေးသည်:
ဤ အောက်ပါ အော်ပိုက်အော်ပိုက် မှာ အော်ပိုက်အော်ပိုက် သည် လုပ်ငန်းတစ်ခု ဖြစ်သည်:
- MySQL ဘဏ္ဍာင်ရုံ
- ကန့်ကဏ္ဍ HTML ဖော်ပြကွက်
- JavaScript
- PHP စက်ပိုင်း
ဘဏ္ဍာင်ရုံ
ဤအပြင်အဆိုးမှာ အသုံးပြုတဲ့ ဘဏ္ဍာင်ရုံ သည် အသေးစိတ်အနက် နေရာမှာ နေရာမှာ လိုက်နာသည်:
id | သုံးစွဲသူအမှတ် | အသင်းအမည် | ဆက်သွယ်သူအမည် | လိပ်ဖွဲ | မြို့ | စာရင်းလုံး | နိုင်ငံ |
---|---|---|---|---|---|---|---|
1 | အယ်လိဗာ | အယ်လိဗာ အသင်း | မာ ရှန် | ...... | ဟန်ဂျင် | 310002 | China |
2 | အိန်ပေါ | အိန်ပေါ အသင်း | တင် ကော့ | ...... | ကွီပီတာ | 95014 | USA |
3 | ဘိုင်ဂျီ | ဘိုင်ဂျီ အသင်း | လီ ရန်ဟင် | ...... | ဘန်ဂျင် | 100080 | China |
4 | Canon | Canon USA Inc. | Tsuneji Uchida | ...... | New York | 11042 | USA |
အခြေခံစာကြိုး
အထက်အောက်အစားအစားအသုံးပြုသည်မှာ အသုံးပြုသူသည် အောက်ပါအော်ဆိုက်မှ ဖမ်းစားစုံစမ်းလိုက်သည်အတွက် ဖြေဖြေပြောင်းလဲသည် 'showUser()' အမည်ရှိ အကိုင်အချက်အလက်အား အသုံးပြုသည်。
ဤအသုံးပြုသည် onchange အခမ်းအနားကို ဖြေဖြေတတ်သည်。
ဤဟောင်းကို HTML စကာတင်ပါ:</span>
ဌာနခွဲ
<!doctype html> <html> <head> <script> function showUser(str) { if (str==""} document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (this.readyState==4 && this.status==200) { document.getElementById("txtHint").innerHTML=this.responseText; } } xmlhttp.open("GET","/demo/getcustomer.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="users" onchange="showUser(this.value)"> <option value="">ခွင့်ပြုမည့်ဖမ်းစားစုံစမ်းပါ:</option> <option value="1">Alibaba</option> <option value="2">APPLE</option> <option value="3">BAIDU</option> <option value="4">Canon</option>
客户信息将在此处列出。</body> </html>
အချက်အလက် အပြောပြချက်:
ပထမပြင်တွင် အားလုံး ကို ရွေးချယ်ခဲ့လာချေ။ အားလုံး ကို ရွေးချယ်မရှိဘဲ (str == "") ဆိုသော် တချို့ ကို txtHint အချက်အလက် ကို ပြန်လည်ဖျက်သိမ်းပါ နှင့် ပြောင်းလဲသည် အချက်အလက် ကို ဖြင့် ဆက်လက်လုပ်ဆောင်ပါ
- XMLHttpRequest အရင်းအမြစ် ကို ဖွဲ့စည်းပါ
- ဘဏ္ဍာင်းအား အသုံးပြုသည့် ပြင်းထန်သော ပြောင်းလဲသည် အချက်အလက် တစ်ခု ကို အသုံးပြုပါ
- ကြိုးစားမှု ကို ဘဏ္ဍာင်းပေါ်တွင် အခြေအနေတွင် ပေးပို့ပါ
- သတ္တုပုံအချက် (q) ကို URL သို့ (ဆက်သွယ်ထားသော ဆက်သွယ်ထားသော အချက်အလက်) ဖြင့် ထပ်ထည့်ပေးသည်。
PHP ဖိုင်
အပြင်ဘားတွင် အသုံးပြုသည့် JavaScript ခေါ်ဆိုမှု သည် “getuser.php” အမည်ရှိ PHP ဖိုင်တစ်ခု ဖြစ်သည်。
“getuser.php”တွင် အရေးယူသည့် အချက်အလက်များ အမောက်ပြန်အခြေအနေတွင် မ္ဂလီအက်စ် ဘဏ္ဍာင်းတွေ့ လုပ်ဆောင်သည် နှင့် အိမ်ဖုံး HTML အခြေအနေတွင် အမှတ်အသား ပြန်လည်ပေးသည်:
<?php $q = intval($_GET['q']); $con = mysqli_connect('MyServer','MyUser','MyPassword','Customers'); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } $sql="SELECT * FROM customerslist WHERE id = '".$q."'"; $result = mysqli_query($con,$sql); echo "<table>"; while($row = mysqli_fetch_array($result)) { echo "<tr><th>CustomerID</th><td>" . $row['CustomerID'] . "</td></tr>"; echo "<tr><th>CompanyName</th><td>" . $row['CompanyName'] . "</td></tr>"; echo "<tr><th>ContactName</th><td>" . $row['ContactName'] . "</td></tr>"; echo "<tr><th>Address</th><td>" . $row['Address'] . "</td></tr>"; echo "<tr><th>City</th><td>" . $row['City'] . "</td></tr>"; echo "<tr><th>PostalCode</th><td>" . $row['PostalCode'] . "</td></tr>"; echo "<tr><th>Country</th><td>" . $row['Country'] . "</td></tr>"; } echo "</table>"; mysqli_close($con); ?>
ရှင်းချက်: ဂျာနယ် က JavaScript မှ PHP ဖိုင် ကို ပေးပို့လာချိန်တွင် အဆိုပါ ပြောင်းလဲမှုများ ဖြစ်ပေါ်လာသည်:
- PHP မှ MySQL ဝန်ဆောင်ရေးသူ ဖွင့်
- အချက်အလက် ကို တွေ့ရသူ
- HTML အချက်အလက် တစ်ခု ဖွဲ့စည်းပါ၊ အချက်အလက် ပြုပြင်ပါ၊ နှင့် "txtHint" ခေါ် အခွင့်အရေး အမှတ် ပြန်ပေးပါ
- အရေးပိုက် စာရင်း AJAX XML
- နောက်ပိုင်း စာရင်း AJAX responseXML