এজেক্স ড্যাটাবেস ইনস্ট্যান্স

AJAX-এর মাধ্যমে ডাটাবেস-এর সঙ্গে ইন্টারএক্সিবল কমিউনিকেশন করা যায়。

এজেক্স ড্যাটাবেস ইনস্ট্যান্স

নিচের উদাহরণটি দেখুন: একটি ওয়েবসাইট কিভাবে AJAX দ্বারা ডাটাবেস থেকে তথ্য পড়ে নেয়:

উদাহরণ

কাস্টমার তথ্য এখানে তালিকাভুক্ত হবে

আপনার নিজেই চেষ্টা করুন

উদাহরণ - showCustomer() ফাংশন

যখন ব্যবহারকারী উপরের নাইল সূচীতে একজন কাস্টমার চিহ্নিত করেন, "showCustomer()" নামক ফাংশন চালানো হয়। এই ফাংশনটি এইভাবে ব্যবহৃত হয় onchange ইভেন্ট ট্রিগার হল:

showCustomer

function showCustomer(str) {
  var xhttp; 
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  }
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState  == 4 && this.status == 200) {
    document.getElementById("txtHint").innerHTML  = this.responseText;
    }
  };
  xhttp.open("GET",  "getcustomer.asp?q=" + str, true);
  xhttp.send();
} 

showCustomer() ফাংশন এইভাবে কাজ করে:

  • কাস্টমার চিহ্নিত করা হয় কি না তা পরীক্ষা করা হয়
  • XMLHttpRequest অবজেক্ট তৈরি করা হয়
  • সার্ভারের প্রতিক্রিয়া প্রস্তুত হলে একটি ফাংশন চালানোর জন্য ফাংশন তৈরি করা হয়
  • সার্ভারের ফাইলে প্রতিক্রিয়া পাঠানো হয়
  • লক্ষ্য করুন, পার্সেল সূচীতে পারামিটার q দেওয়া হয় (নাইল লিস্টের সাথে যুক্ত কনটেন্ট)

AJAX সার্ভার পাতা

এই জাভাস্ক্রিপ্ট দ্বারা ব্যবহৃত সার্ভার পাতা হল "getcustomer.asp"-এর এসপি ফাইল

PHP বা অন্য সার্ভার ভাষা ব্যবহার করে এই সার্ভার ফাইলটি সহজেই পুনর্লিখিত করা যায়。

এইভাবের PHP উদাহরণ দেখুন

"getcustomer.asp" 中的 সূত্র থেকে ডাটাবেসের প্রতি প্রতিক্রিয়া চালানো হয় এবং HTML টেবিলে ফলাফল প্রদর্শিত হয়:

<%
response.expires=-1
sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID="
sql=sql & "'" & request.querystring("q") & "'"
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("customers.mdb"))
set rs=Server.CreateObject("ADODB.recordset")
rs.Open sql,conn
response.write("<table>")
do until rs.EOF
 for each x in rs.Fields
   response.write("<tr><td><b>" & x.name & "</b></td>")
   response.write("<td>" & x.value & "</td></tr>")
 নিচে
 rs.MoveNext
লুপ
response.write("</table>")
%>