---
title: AJAX Database
description: "> AJAX can be used for interactive communication with a database. ## AJAX Database Example The following example will demonstrate how a web page can fetch information from a database with AJAX: ### Example Customer info will be listed here...…"
url: "https://apprentice.mn/docs/ajax-database-2/"
updated: "2021-05-19"
category: Javascript
---

# AJAX Database

> AJAX can be used for interactive communication with a database.

## AJAX Database Example

The following example will demonstrate how a web page can fetch information from a database with AJAX:

### Example

 Customer info will be listed here...

## 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

              `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.php?q="+str, true);
  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:

             `<?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>";
?>`        [https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fajax-database-2%2F&linkname=AJAX%20Database](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fajax-database-2%2F&linkname=AJAX%20Database)[https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fajax-database-2%2F&linkname=AJAX%20Database](https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fajax-database-2%2F&linkname=AJAX%20Database)[https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fajax-database-2%2F&linkname=AJAX%20Database](https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fajax-database-2%2F&linkname=AJAX%20Database)[https://www.addtoany.com/share](https://www.addtoany.com/share)
