Laravel Ajax Autocomplete Search Example

Today, We want to share with you Laravel Ajax Autocomplete Search Example.In this post we will show you laravel 5.7 autocomplete search from database, hear for Laravel autocomplete search with typeahead.js we will give you demo and example for implement.In this post, we will learn about Ajax Autocomplete Textbox in Laravel using JQuery with an example.

Laravel Ajax Autocomplete Search Example

There are the Following The simple About Laravel Ajax Autocomplete Search Example Full Information With Example and source code.

As I will cover this Post with live Working example to develop laravel 5.7 autocomplete from database, so the php Laravel search code with mysql database for this example is following below.

Step 1 : Create Mysql table

make apps_members table in our mysql database

Also Read :  Basic JQuery Form Validation Example

Table structure for table `apps_members`

CREATE TABLE `apps_members` (
  `id` int(11) NOT NULL,
  `member_code` varchar(2) NOT NULL DEFAULT '',
  `member_name` varchar(100) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Sample data for table `apps_members`

INSERT INTO `apps_members` (`id`, `member_code`, `member_name`) VALUES
(1, 'jd', 'jaydeep Gondaliya'),
(2, 'KS', 'Krunal Sisodariya'),
(3, 'AK', 'Ankit Kathiriya'),
(4, 'DD', 'Dhaval Dave'),
........
.........
.........
(1000, 'CD', 'Chirag Dethariya');

--
-- Indexes for table `apps_members`
--
ALTER TABLE `apps_members`
  ADD PRIMARY KEY (`id`);
  
  
 --
-- AUTO_INCREMENT for table `apps_members`
--
ALTER TABLE `apps_members`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=246; 

Step 2: Define Laravel Controller

Create Ajax Autocomplete Laravel controller for handle GET http request

php artisan make:controller SuggestionController

app/Http/Controllers/SuggestionController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;

class SuggestionController extends Controller
{
    //for create Laravel controller - php artisan make:controller SuggestionController

    function index()
    {
     return view('suggestion');
    }

    function getData(Request $request)
    {
     if($request->get('query'))
     {
      $query = $request->get('query');
      $data = DB::table('apps_members')
        ->where('member_name', 'LIKE', "%{$query}%")
        ->get();
      $suggestion_output = '<ul class="dropdown-menu pakainfo" style="display:block; position:relative">';
      foreach($data as $row)
      {
       $suggestion_output .= '
       <li><a href="#">'.$row->member_name.'</a></li>
       ';
      }
      $suggestion_output .= '</ul>';
      echo $suggestion_output;
     }
    }

}

Step 3: Crate Laravel Blade View File

resources/views/suggestion.blade.php

<!DOCTYPE html>
<html>
 <head>
  <title>laravel 5.7 autocomplete search from database - pakainfo.com</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <style type="text/css">
   .box{
    width:800px;
    margin:0 auto;
   }
  </style>
 </head>
 <body>
  <hr />
  <div class="pakainfo container box">
   <h3 align="center">Laravel 5.7 autocomplete typeahead search example from scratch</h3><br />
   
   <div class="form-group">
    <input type="text" name="member_name" id="member_name" class="form-control input-lg" placeholder="Enter Member Name" />
    <div id="memberList">
    </div>
   </div>
   {{ csrf_field() }}
  </div>
 </body>
</html>

<script>
$(document).ready(function(){

 $('#member_name').keyup(function(){ 
        var query = $(this).val();
        if(query != '')
        {
         var _token = $('input[name="_token"]').val();
         $.ajax({
          url:"{{ route('suggestion.getData') }}",
          method:"POST",
          data:{query:query, _token:_token},
          success:function(data){
           $('#memberList').fadeIn();  
                    $('#memberList').html(data);
          }
         });
        }
    });

    $(document).on('click', 'li', function(){  
        $('#member_name').val($(this).text());  
        $('#memberList').fadeOut();  
    });  

});
</script>

Step 4: Include Route Methods and Controller

routes/web.php

<?php
Route::get('/', function () {
    return view('home');
});

Route::get('/suggestion', '[email protected]');
Route::post('/suggestion/getData', '[email protected]')->name('suggestion.getData');

Angular 6 CRUD Operations Application Tutorials

Read :

Also Read :  Laravel Autocomplete Live Search from database

Summary

You can also read about AngularJS, ASP.NET, VueJs, PHP.

I hope you get an idea about Laravel Ajax Autocomplete Search Example.
I would like to have feedback on my Pakainfo.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.

Leave a Reply

avatar
  Subscribe  
Notify of