AJAX can be used for dynamic communication with a database.
The following example demonstrates how a web page can retrieve information from a database using AJAX.
Customer information will be displayed here…
When a user selects a customer from the dropdown list above, the showCustomer() function is triggered by the onchange event.
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(); } |
The showCustomer() function performs the following steps:
The server-side page called by the JavaScript above is a PHP file named “getcustomer.php”.
The code in “getcustomer.php” executes a query on the database and returns the result in an HTML table.
<?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>”; ?> |