How can AJAX be implemented in PHP to improve the user experience when performing database searches?

When performing database searches in PHP, implementing AJAX can improve the user experience by allowing the search results to be loaded dynamically without refreshing the entire page. This can make the search process faster and more seamless for the user.

// HTML form for user input
<form id="searchForm">
    <input type="text" name="searchQuery" id="searchQuery">
    <button type="submit">Search</button>
</form>

// AJAX script to handle form submission and display search results
<script>
    $('#searchForm').submit(function(e) {
        e.preventDefault();
        $.ajax({
            url: 'search.php',
            type: 'post',
            data: $(this).serialize(),
            success: function(response) {
                $('#searchResults').html(response);
            }
        });
    });
</script>

// PHP script (search.php) to handle database search and return results
<?php
// Connect to database
$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password');

// Get search query from form submission
$searchQuery = $_POST['searchQuery'];

// Perform database search
$stmt = $pdo->prepare("SELECT * FROM table WHERE column LIKE :searchQuery");
$stmt->execute(array(':searchQuery' => "%$searchQuery%"));
$results = $stmt->fetchAll();

// Display search results
foreach ($results as $result) {
    echo '<div>' . $result['column'] . '</div>';
}
?>