Autosuggestion Like Facebook with jQuery, Ajax, PHP and MySQL

0
118

AutosuggestPIIn this tutorial Autosuggestion 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 
/*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

Autosuggestion Like Facebook Source code: Download Sourcecode

Facebook Comments
(Visited 196 times, 1 visits today)

LEAVE A REPLY

Please enter your comment!
Please enter your name here