ITSourceCode.com

We Exist to Provide 100% Free Source Code and Tutorials

Custom Search

Autosuggestion like in Facebook with jQuery, Ajax, PHP and MySQL

AutosuggestPIIn this tutorial, I wil 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 Templetes for the plugin to my design.

 

Let’s begin:

 

  • Create a MySQL databaase 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 
/*load the configuration */
include 'config.php';  
     /*create a retrieve query*/
    $sqlQuery = "SELECT * FROM `tblpeople` Where NAME LIKE '%".$_POST['name']."%'";
    /*Execute the query*/
    $result = mysql_query($sqlQuery) or die(mysql_error());
    /* validating the result */
    if ($result>0){ 
        /*retrieving data */
        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(){ 
/* set the click event handler of a button */
    $('input').keyup(function(){ 
      /*get the given number in the textbox*/
      var n = document.getElementById("inputtext").value; 
      /*set a variable for displaying the result*/ 
 
              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 sourcecode in any programming languages.  You can contact me @ :

Email – jannopalacios@gmail.com
Mobile No. – 09305235027 – tnt

 

Download Sourcecode

Facebook Comments

Check Your Domain Ranking

Leave a Reply

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

ITSourceCode.com © 2016 Frontier Theme

Subscribe For Latest Updates

Signup for our newsletter and get notified when we publish new articles for free!