AJAX Database Example
AJAX can be used for interactive communication with a database.
AJAX can be used for interactive communication with a database.
Share
AJAX Database Example
The following example will demonstrate how a web page can fetch information from a database with AJAX:
Example Explained - The showCustomer() Function
When a user selects a customer in the dropdown list above, a function called showCustomer() is executed. The function is triggered by the onchange event:
showCustomer
Example Code
javascriptfunction 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();
}The showCustomer() function does the following:
- Check if a customer is selected
- Create an XMLHttpRequest object
- Create the function to be executed when the server response is ready
- Send the request off to a file on the server
- Notice that a parameter (q) is added to the URL (with the content of the dropdown list)
The AJAX Server Page
The page on the server called by the JavaScript above is a PHP file called "getcustomer.php".
The source code in "getcustomer.php" runs a query against a database, and returns the result in an HTML table:
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>"; ?>
Interactive Code Examples
showCustomer
javascriptfunction 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();
}