Laravel Ajax Autocomplete Search Example

Laravel Redirect To Another URL / Web Page - HTTP Laravel Redirects

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.

Read Also:  PHP Laravel Autocomplete search from Database Example

Step 1 : Create Mysql table

make apps_members table in our mysql database

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 :

Read Also:  Toopics instagram viewer

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.

About Pakainfo

I am Jaydeep Gondaliya, a software engineer, the founder and the person running Pakainfo. I'm a full-stack developer, entrepreneur and owner of Pakainfo.com. I live in India and I love to write tutorials and tips that can help to other artisan, a Passionate Blogger, who love to share the informative content on PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.

View all posts by Pakainfo →

Leave a Reply

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