PHP Ajax Search

please click here for more wordpress cource

To create an Ajax search functionality using PHP, you can follow the steps below:

  1. Create a PHP script that retrieves the search results based on the user’s input. For example, you can use a MySQL database to store the data and use the SELECT statement to retrieve the matching results.
<?php
// Connect to the database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

// Retrieve search results
$search = $_POST['search'];
$sql = "SELECT * FROM mytable WHERE name LIKE '%".$search."%'";
$result = $conn->query($sql);

// Output results
while($row = $result->fetch_assoc()) {
    echo "<li>".$row["name"]."</li>";
}

// Close the database connection
$conn->close();
?>
  1. Create a form in HTML that allows users to enter their search query.
htmlCopy code<form>
    <input type="text" id="search" placeholder="Search...">
    <ul id="results"></ul>
</form>
  1. Create a JavaScript file that sends an Ajax request to the PHP script and displays the results on the page.
javascriptCopy code$(document).ready(function(){
    $('#search').keyup(function(){
        var query = $(this).val();

        if(query != ''){
            $.ajax({
                url: 'search.php',
                method: 'POST',
                data: {search:query},
                success: function(data){
                    $('#results').html(data);
                }
            });
        }
    });
});

This script uses jQuery to listen for keyup events on the search input field. When the user enters a query, it sends an Ajax request to the PHP script, passing the search query as a POST parameter. The PHP script retrieves the matching results from the database and outputs them as a list of HTML elements. Finally, the JavaScript file displays the search results on the page by updating the contents of the “results” unordered list.

You may also like...

Popular Posts

Leave a Reply

Your email address will not be published. Required fields are marked *