Autosuggestion Like Facebook with jQuery, Ajax, PHP and MySQL

AutosuggestPI

Auto Suggestion Search In PHP

In this tutorial Autosuggestion Search In PHP Like Facebook, I will teach on how to create an Autosuggest in a search box like in facebook with jQuery, Ajax, PHP and MySQL database.

This functionality will help you search data in the database when only knew is its keyword. For instance, the word “Facebook“.

I’m going to use Bootstrap Templates for the plugin to my design.

Let’s begin:

  • Create a MySQL database and name it “peopledb“.
  • Do the following query for creating a table.
CREATE TABLE IF NOT EXISTS `tblpeople` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(30) NOT NULL,
  `ADDRESS` varchar(60) NOT NULL,
  `SEX` varchar(11) NOT NULL,
  `CONTACT` varchar(15) NOT NULL,
  `IMAGE` varchar(30) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9
  • Insert the following data in the table.
INSERT INTO `tblpeople` (`ID`, `NAME`, `ADDRESS`, `SEX`, `CONTACT`, `IMAGE`) VALUES
(2, 'Janno Palacios', 'Kabankalan City', 'Male', '09128255473', 'Koala.jpg'),
(3, 'Kenjie Earl Palacios', 'Kabankalan City', 'Male', '09128255477', 's.jpg'),
(4, 'John Craig Palacios', 'Kabankalan City', 'Male', '09138255477', 's.jpg'),
(5, 'Jeanniebe Nillos', 'Kabankalan City', 'Female', '09148255477', 's.jpg'),
(6, 'Joken Villanueva', 'Himamaylan City', 'Male', '09288255477', 's.jpg'),
(7, 'Roger Intong', 'Kabankalan City', 'Male', '09388255477', 's.jpg'),
(8, 'Mark Palacios', 'Kabankalan City', 'Male', '09388255488', 's.jpg');
  • Create a configuration between MySQL database and PHP script.
<?php
$server = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'peopledb';
$con    = mysql_connect($server, $dbuser, $dbpass);
if (isset($con)) {
    # code...
    $dbSelect = mysql_select_db($dbname);
    if (!$dbSelect) {
        echo "Problem in selecting database! Please contact administraator";
        die(mysql_error());
    }
} else {
    echo "Problem in database connection! Please contact administraator";
    die(mysql_error());
}
?>
  • Create page and name it “loaddata.php“. After that, do the following codes for retrieving data from the database.
<?php 

        while ($row = mysql_fetch_array($result)) { 
                echo '<div  id="output" class="form-group"> 
                          <img src=" '.$row['IMAGE'].'" class="img img-rounded"  /> ' .$row['NAME'].'<br/><div class="address">'.$row['ADDRESS'].'</div>
                         </div>';
               
        } 
    } 
  ?>
  • Create a page and name it “index.php”.
  • Create a css style for the layout of your design.
<!-- bootstrap plugins -->
<link href="css/bootstrap.css" rel="stylesheet" type="text/css"> 
<style type="text/css">
.container {
    width: 100%;
}

.container .input {
    background: #015eae;
    border: 3px solid #015eae;
}

.container #output {
    height: 50px;
    color: #000;
    padding: 0;
    margin: 0;
    border: 1px solid #ddd;
    color: #000; 
    background: transparent;
}

.container #output:hover {
    background: #428bca;
    color: #fff;
}

.container #output > img {
    max-width: 100%;
    max-height: 80%;
    padding: 1px;
    border: 1px solid #ddd;
}

.container #output > .address {
    padding-left: 60px;
    padding-right: 60px;
    margin-top: -10px;
    margin-bottom: -10px;
    font-size: 11px;
}

.container #head {
    padding-bottom: 2px; 

} 
</style>
  • Do these following codes for the design of your search box.
<!DOCTYPE html>
<html>
<head>
    <title>Itsourcecode.com</title>
</head>
<body>
    <div class="container">
        <div class="page-header">
            <h1>Facebook like Autosuggestion with jQuery, Ajax and PHP.</h1>
        </div>
        <div class="box col-md-10">
            <div class="row">
                <div class='col-sm-10'>
                    <div class="form-group">
                        <div class="input-group input" id="head">
                            <input class="form-control" id="inputtext"
                            placeholder="Search.." type='text'> <span class=
                            "input-group-addon"><span class=
                            "glyphicon glyphicon-search"></span></span>
                        </div>
                        <div id="body"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
  • Finally, Create a script for the method of fetching data from the “loaddata.php”.
<!-- jQuery plugins -->
<script type = "text/javascript" src = "jquery/jquery.min.js" ></script>   
<script type="text/javascript"> 
  $(document).ready( function(){ 
 
 
              if(n==''){ 
                $("#body ").html('')
               }else{
                $("#output ").hide();
                $("#output").fadeIn(900,0); 
                   $.ajax({
                     type: "POST",
                     url: "loaddata.php ",
                     dataType: "text", //expect html to be returned  
                     data: {
                         name:n
                     },
                     success: function(data) { 
                         $("#body").html(data);
                     }
                 }); 

               } 
    })
  }) 
  </script>

For all students who need programmer for your thesis system or anyone who needs a source code in any programming languages.  You can contact me @ :

Email – [email protected]
Mobile No. – 09305235027 – tnt

Auto suggestion Search Like Facebook Source code: Download Source code

Frequently Asked Questions

How does this PHP project work?

Built with vanilla PHP (no framework) and MySQL backend. Standard structure: form HTML, PHP script handlers, MySQL via PDO or mysqli, sessions for auth, Bootstrap for responsive layout. Ready to extend for BSIT capstone scope.

What PHP and MySQL versions does this project require?

Most projects in this batch run on PHP 7.4 to PHP 8.2 with MySQL 5.7+ or MariaDB 10+. A few older projects need PHP 5.6 (deprecated, use XAMPP 7.x). To run: install XAMPP / WAMP / Laragon, extract project to htdocs, import the included .sql file via phpMyAdmin, edit the connection file (usually config.php or db_connect.php) with your DB credentials, browse to the project URL in your browser.

How do I set up the database for this PHP project?

Open phpMyAdmin (http://localhost/phpmyadmin/ on XAMPP), create a new empty database with the name specified in the project’s config.php. Click the Import tab, choose the included .sql file, click Go. Then edit config.php (or includes/connection.php) with: ‘localhost’, your MySQL username (usually ‘root’), your MySQL password (usually blank for XAMPP), and the database name.

Can I use this PHP project for a BSIT capstone or thesis?

Yes, but extend it. A bare CRUD app is too narrow for full capstone scope. Add: user roles via session checks, reports/dashboards (Chart.js + AJAX), PDF exports (TCPDF library), email notifications (PHPMailer), real domain extension (analytics, audit log, multi-branch support). Pair with Chapter 1-5 documentation matching your panel’s rubric.

Why am I getting ‘connection error’ or ‘undefined function mysqli_connect’?

Three common PHP issues: (1) Connection error: Apache + MySQL services not running in XAMPP control panel, OR database name in config.php does not match what you created in phpMyAdmin. (2) ‘undefined function mysqli_connect’: MySQL extension not enabled, in php.ini uncomment extension=mysqli (then restart Apache). (3) ‘No such file or directory’: MySQL socket path wrong, use 127.0.0.1 instead of localhost in the connection string.

Where can I find more PHP projects with source code?

Browse the PHP Projects hub for the full library (300+ vanilla PHP systems). For modern PHP MVC alternatives see Laravel Projects (74 systems) or CodeIgniter Projects (32 systems). For BSIT-focused capstone idea lists see 150 Best Capstone Project Ideas.

Related PHP Projects

Leave a Comment