Today, We want to share with you Laravel AJAX Live Autocomplete Search from Database Example.In this post we will show you jQuery Autocomplete Tutorial with Laravel 5.7 and MySQL, hear for Laravel 5.7 Ajax Autocomplete Search from Database Example we will give you demo and example for implement.In this post, we will learn about Laravel 5.7 Autocomplete Search From Database Using Typeahead Tutorial Example with an example.
Laravel AJAX Live Autocomplete Search from Database Example
There are the Following The simple About Laravel AJAX Live Autocomplete Search from Database Example Full Information With Example and source code.
As I will cover this Post with live Working example to develop Autocomplete Textbox using Laravel 5.7, PHP and MySQL, so the some major files and Directory structures for this example is following below.
- Setup Laravel 5.7 Project
- Settings .env files SQL Database
- build Laravel 5.7 Model and Migration Database
- make Laravel 5.7 a HTML View File
- make Laravel 5.7 one controller
- Laravel 5.7 Route
- Store data Laravel 5.7 to the database
- make an index page Laravel 5.7 Search the data
- Include jQuery in the view Index File
Laravel 5.7 Autocomplete Search From Database Using Typeahead Tutorial Example
#1: Setup Laravel 5.7 Application
Install Laravel 5.7 Project step by step
composer create-project --prefer-dist laravel/laravel liveautocompletebox
Step #2: Settings SQL Database
.env files on root
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=liveautocompletebox
DB_USERNAME=root
DB_PASSWORD=
Step #3: build Laravel 5.7 Model and Migration Database
Laravel 5.7 Model and Migration files
php artisan make:model Member -m
make the member.php file as well as create a create_members_table.php
//Ajax Autocomplete Textbox in Laravel 5.7 using jQuery
public function up()
{
Schema::create('members', function (Blueprint $table) {
$table->increments('id');
$table->string('membername');
$table->timestamps();
});
}
Database >> member table.
php artisan migrate
Step #4: Make a Laravel 5.7 View File
resources/views/createmember.blade.php
<!-- createmember.blade.php for Ajax Autocomplete Textbox in Laravel 5.7 using jQuery -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Laravel 5.7 Autocomplete Search From Database Tutorial With Example</title>
<link rel="stylesheet" href="{{asset('css/app.css')}}">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2>Laravel 5.7 AJAX Live Autocomplete Search from Database Example</h2><br/>
<form method="post" action="{{url('store')}}">
@csrf
<div class="row">
<div class="col-md-4"></div>
<div class="form-group col-md-4">
<label for="Name">Member Name:</label>
<input type="text" class="form-control" name="membername">
</div>
</div>
<div class="pakainfo row">
<div class="col-md-4"></div>
<div class="form-group col-md-4">
<button type="submit" class="btn btn-success">Add Member</button>
</div>
</div>
</form>
</div>
</body>
</html>
Step #5: Make Laravel 5.7 controller
create Laravel Controller as well as Model
php artisan make:controller MemberController
MemberController.php
//MemberController.php
//Ajax Autocomplete Textbox in Laravel 5.7 using jQuery
public function create()
{
return view('createmember');
}
Step #6: Laravel Route
web.php
//web.php
Route::get('createmember','[email protected]');
Route::post('store','[email protected]');
Route::get('createmember/index','[email protected]');
Route::get('search','[email protected]');
Run Laravel 5.7 Project -> Ajax Autocomplete Textbox in Laravel 5.7 using jQuery
php artisan serve
Step #7: Store data Laravel 5.7 to the database
MemberController.php
//MemberController.php
public function store(Request $request)
{
$member = new \App\Member();
$member->membername=$request->get('membername');
$member->save();
return redirect('createmember/index')->with('success', 'Member has been added Successfully');
}
Step #8: Make an index page for Laravel 5.7 Search the data
resources/views/indexmember.blade.php
<!-- indexmember.blade.php -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ajax Autocomplete Textbox in Laravel 5.7 using jQuery</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.2/bootstrap3-typeahead.min.js"></script></head>
<body>
<div class="container">
<h2>Laravel 5.7 AJAX Live Autocomplete Search from Database Example</h2><br/>
@if (\Session::has('success'))
<div class="alert alert-success">
<p>{{ \Session::get('success') }}</p>
</div><br />
@endif
<div class="row">
<div class="col-md-4"></div>
<div class="form-group col-md-4">
<label for="Search">Search:</label>
<input type="text" class="form-control" id="search" name="search">
</div>
</div>
</div>
</body>
</html>
index Methods in MemberController.php
public function index()
{
return view('indexmember');
}
MemberController.php
//MemberController.php
public function result(Request $request)
{
$result=\App\Member::select('membername')->where('membername', 'LIKE', "%{$request->input('query')}%")->get();
return response()->json($result);
}
MemberController.php
//MemberController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MemberController extends Controller
{
public function create()
{
return view('createmember');
}
public function store(Request $request)
{
$member = new \App\Member();
$member->membername=$request->get('membername');
$member->save();
return redirect('createmember/index')->with('success', 'Member has been added Successfully');
}
public function index()
{
return view('indexmember');
}
public function result(Request $request)
{
$result=\App\Member::select('membername')->where('membername', 'LIKE', "%{$request->input('query')}%")->get();
return response()->json($result);
}
}
Step #9: Include jQuery in the Laravel View Index File
indexmember.blade.php
<!-- indexmember.blade.php -->
<script type="text/javascript">
var path = "{{ url('search') }}";
$('#search').typeahead({
minLength: 2,
source: function (query, process) {
return $.get(path, { query: query }, function (data) {
var memberlist = [];
data.forEach(function(value){
memberlist.push(value.membername);
});
return process(memberlist);
});
}
});
</script>
indexmember.blade.php
<!-- indexmember.blade.php -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Laravel 5.7 - Ajax Autocomplete Textbox in Laravel 5.7 using jQuery</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.2/bootstrap3-typeahead.min.js"></script></head>
<body>
<div class="container">
<h2>Laravel 5.7 AJAX Live Autocomplete Search from Database Example</h2><br/>
@if (\Session::has('success'))
<div class="alert alert-success">
<p>{{ \Session::get('success') }}</p>
</div><br />
@endif
<div class="row">
<div class="col-md-4"></div>
<div class="form-group col-md-4">
<label for="Search">Search:</label>
<input type="text" class="form-control" id="search" name="search">
</div>
</div>
</div>
<script type="text/javascript">
var path = "{{ url('search') }}";
$('#search').typeahead({
minLength: 2,
source: function (query, process) {
return $.get(path, { query: query }, function (data) {
var memberlist = [];
data.forEach(function(value){
memberlist.push(value.membername);
});
return process(memberlist);
});
}
});
</script>
</body>
</html>
Read :
Summary
You can also read about AngularJS, ASP.NET, VueJs, PHP.
I hope you get an idea about Laravel 5.7 AJAX Live Autocomplete Search from Database 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.