How to install laravel 9
https://tutorial101.blogspot.com/2022/02/how-to-install-laravel-9.html
Connecting our Database
open .env file root directory.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Create tables Model
php artisan make:model Product -m
C:\xampp\htdocs\laravel\laravelproject>php artisan make:model Product -m
Open new products migrations
yourproject/database/migrations
laravelproject\database\migrations\_create_products_table.php
//laravelproject\database\migrations\_create_products_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('price');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('products');
}
};
Database Migration php artisan migrate
C:\xampp\htdocs\laravel\laravelproject>php artisan migrate
Migration table created successfully.
check database table
Creating Controller
php artisan make:controller ProductController
C:\xampp\htdocs\laravel\laravelproject>php artisan make:controller ProductController
change it with the following codes:
laravelproject\app\Http\Controllers\ProductController.php
//laravelproject\app\Http\Controllers\ProductController.php
<?php
namespace App\Http\Controllers;
use App\Models\Product; //add Product Model
use Illuminate\Http\Request;
class ProductController extends Controller
{
public function index(){
return view('ajaxdata');
}
public function getproducts($id = 0){
if($id==0){
$product = Product::orderby('id','asc')->select('*')->get();
}else{
$product = Product::select('*')->where('id', $id)->get();
}
// Fetch all records
$userData['data'] = $product;
echo json_encode($userData);
exit;
}
}
Create Views laravelproject\resources\views\ajaxdata.blade.php
//laravelproject\resources\views\ajaxdata.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel 9 Fetch records using jQuery AJAX - Cairocoders</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
</head>
<body>
<div class="container">
<h2>Laravel 9 Fetch records using jQuery AJAX </h2>
<div class="row">
<div class="col-lg-2">
<input type='text' id='search' name='search' placeholder='Enter product id 1-27' class="form-control">
</div>
<div class="col-lg-10">
<input type='button' value='Search' id='but_search' class="btn btn-success">
</div>
</div>
<p><br/><input type='button' value='Fetch all records' id='but_fetchall' class="btn btn-success"></p>
<table class="table table-bordered table-striped" id="productTable">
<thead>
<tr>
<th>No</th>
<th>Name</th>
<th>Price</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<script type='text/javascript'>
$(document).ready(function(){
// Fetch all records
$('#but_fetchall').click(function(){
fetchRecords(0);
});
// Search by id
$('#but_search').click(function(){
var userid = Number($('#search').val().trim());
if(userid > 0){
fetchRecords(userid);
}
});
});
function fetchRecords(id){
$.ajax({
url: 'getproducts/'+id,
type: 'get',
dataType: 'json',
success: function(response){
var len = 0;
$('#productTable tbody').empty(); // Empty <tbody>
if(response['data'] != null){
len = response['data'].length;
}
if(len > 0){
for(var i=0; i<len; i++){
var id = response['data'][i].id;
var name = response['data'][i].name;
var price = response['data'][i].price;
var tr_str = "<tr>" +
"<td>" + (i+1) + "</td>" +
"<td>" + name + "</td>" +
"<td>" + price + "</td>" +
"</tr>";
$("#productTable tbody").append(tr_str);
}
}else{
var tr_str = "<tr>" +
"<td colspan='4'>No record found.</td>" +
"</tr>";
$("#productTable tbody").append(tr_str);
}
}
});
}
</script>
</body>
</html>
Creating Routes laravelproject\routes\web.php
//laravelproject\routes\web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProductController; //add ProductController
//Route::get('/', function () {
// return view('welcome');
//});
Route::get('/', [ProductController::class, 'index']);
Route::get('/getproducts/{id}', [ProductController::class, 'getproducts']);
Run C:\xampp\htdocs\laravel\laravelproject>php artisan serve
Starting Laravel development server: http://127.0.0.1:8000
