IMG-LOGO
Trang Chủ Học Laravel Tìm hiểu paginate trong laravel - Quản lý sản phẩm - Lập trình Laravel
×

Lý Thuyết

01. Hướng dẫn cài composer 02. Hướng dẫn tạo dự án Laravel đầu tay. 03. Hướng dẫn cấu hình cơ sở dữ liệu và bật chức năng auth có sẵn trong Laravel 04. Hướng dẫn cài theme Acacha AdminLTE cho Laravel 05. Hướng dẫn tắt debug khi upload dự án laravel lên HOST BT01. Hướng dẫn tạo dự án super market - phần 1 - Laravel BT02. Hướng dẫn tạo dự án super market - phần 2- laravel BT03. Tạo giở hàng - học lập trình laravel qua project- Phần 3 - laravel BT04.Tìm hiểu route trong laravel bài 1 - laravel BT05. Hướng dẫn tìm hiểu get:post + database - laravel BT06. Hướng dẫn paginate + model - laravel BT07. Hướng dẫn học Laravel qua qua ví dụ 1 - laravel BT08. Hướng dẫn học laravel qua ví dụ cross data to view, migration, seeder, db - laravel

Bài Tập

Tìm hiểu Route - Controller - View trong Laravel Giải phương trình bậc 2 (ax2 + bx + c = 0) bằng Laravel - Lập trình laravel Tìm hiểu route + truyền dữ liệu từ controller tới view qua bài quản lý sản phẩm - Lập trình Laravel Tìm hiểu route + truyền dữ liệu từ controller tới view qua bài quản lý khách sạn- Lập trình Laravel [Clone Website] Học Layout thông qua clone website - Creative Theme Bootstrap Free - Lập trình Laravel Tìm hiểu migration trong laravel - Lập trình laravel Tìm hiểu paginate trong laravel - Quản lý sản phẩm - Lập trình Laravel Quản lý sinh viên bằng Laravel - Lập trình Laravel Chương trình quản lý sách - Lập trình PHP, Laravel Chương trình quản lý điểm danh Aptech - Lập trình Laravel - Lập trình PHP/Laravel Tạo 1 POS bán hàng cho siêu thị - Supper Market - Lập trình Laravel Website thi trắc nghiệm lập trình Aptech - Lập trình laravel - Lập trình PHP

Examination & Test

Examination & Test - Lập trình PHP/Laravel Examination & Test + Website tra cứu luật giao thông đường bộ - Lập trình PHP - Lập trình Laravel

Projects

OAuth2 - Single Sign On - Ứng dụng vào dự án tin tức




Tìm hiểu paginate trong laravel - Quản lý sản phẩm - Lập trình Laravel

by GokiSoft.com - 15:59 07/07/2021 2,717 Lượt Xem

Yêu cầu

1. Sử dụng migration tạo bảng product gồm các trường sau : tên sản phẩm, giá tiền, giảm giá, mô tả

2. Sử dụng seeder tạo ra 50 bản ghi cho bảng product

3. Tạo file route đặt tên là product.php -> thực hiên đăng ký trong laravel. File product được cấu hình như sau

<?php

Route::group(['prefix' => '/product'], function () {
		Route::get('/view', '[email protected]')->name('showAll');
	});


Tạo controller tương ứng và các hàm trong controller để chương trình ko bị lỗi. trong hàm showAll của ProductController thực hiện lấy tất cả dữ liệu trong bảng product. Thực hiện hiển thị dữ liệu ra view index.blade.php. Thực hiên phân trang, mỗi trang gồm 10 sản phầm.

Theo dõi cập nhật nội dung học trên Youtube & Facebook


Bình luận



Chia sẻ từ lớp học

Phí Văn Long [T1907A]

Ngày viết: 10:19 06/07/2020

product.php


<?php

Route::group(['prefix' => '/products'], function () {
		Route::get('index', '[email protected]')->name('_showAll');
	});
productController


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
class ProductController extends Controller
{
   public function showAll(Request $request){
   	 $ProductList = DB::table('product')->paginate(10);
    	// $ProductList = DB::table('product')->get();
    	return view('products.index')->with([
   		'ProductList'=>$ProductList
   	]);
}
}

index.blade.php



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>

        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>ProductName</th>
                    <th>Price</th>
                    <th>Discount</th>
                    <th>Discription</th>
                    <th>Title</th>
                </tr>
            </thead>
            <tbody>
                @foreach($ProductList as $item)
                    <tr>
                        <td>{{ $item->id}}</td>
                        <td>{{ $item->nameproduct}}</td>
                        <td>{{ $item->link}}</td>
                        <td>{{ $item->price}}</td>
                        <td>{{ $item->installment}}</td>
                        <td>{{ $item->title}}</td>                    
                    </tr>              
                @endforeach
            </tbody>
        </table>
        {!! $ProductList->links() !!} 
</body>
</html>

migration
<?php

 use Illuminate\Database\Migrations\Migration;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\Schema;

 class CreateProductTable extends Migration
 {
    /**
     * Run the migrations.
     *
      * @return void
     */
     public function up()
     {
         Schema::create('product', function (Blueprint $table) {
             $table->increments('id');
             $table->string('productname');
             $table->float('price');
             $table->int('discount');
             $table->string('productname');
             $table->string('title');
         });
     }

    /**
     * Reverse the migrations.
     *
      * @return void
     */
     public function down()
     {
         Schema::dropIfExists('product');
     }
 }
productSeeder


<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;

class ProductSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
    	$this->call(ProductSeeder::class);
        DB::table('product')->insert([
            'nameproduct' => Str::random(10),
            'link' => Str::random(100),
            'price' => Str::random(100000),
            'installment' => Str::random(10),
            'title' => Str::random(100),
        ]);
        factory(App\User::class, 50)->create();
    }
}


thienphu [T1907A]

Ngày viết: 20:46 05/07/2020


#product.php


<?php

Route::group(['prefix' => '/product'], function () {
        Route::get('/view', '[email protected]')->name('showAll');
        Route::get('/input', '[email protected]')->name('input');
        Route::post('post', '[email protected]')->name('doPost');
	});


#ProductController.php


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;

class ProductController extends Controller
{
    public function showAll(REQUEST $REQUEST){
        $userList = DB::table('product')->paginate(10); 
        return view('product.show')->with([
            'userList'=> $userList
        ]);
    }
    public function input(REQUEST $REQUEST){
        return view('product.input');
    }
    public function doPostUser(REQUEST $request){
        
        $productName = $request->ProductName;
        $price = $request->Price;
        $discount = $request->Discount;
        $Description = $request->Description;
      //  echo $productName.$price.$discount.$Description;

        DB::table('product')->insert([
            'productname'=>$productName,
            'price'=>$price,
            'discount'=>$discount,
            'descrition'=>$Description,
        ]);
        //insert xogn se dieu huong = lenh nay
       return redirect()->route('showAll');
    }
}


#input.blade.php


<!DOCTYPE html>

<html>
<head>
	<title></title>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>

	<div class="container">
		<h1><center>Resgister Product</center></h1>
		<form action="{{ route('doPost') }}" method="POST">

			

     <div class="form-group">
       <label for="ProductName">ProductName</label>
       <!-- chú ý chỗ này lỗi 419 -->
       {{ csrf_field()}} 
       <input type="text" class="form-control" name="ProductName" id="ProductName">
     </div>

     <div class="form-group">
       <label for="Price">Price</label>
       <input type="text" class="form-control" name="Price" id="Price">
     </div>
     <div class="form-group">
      <label for="Discount">Discount</label>
      <input type="text" class="form-control" name="Discount" id="Discount">
    </div>
    <div class="form-group">
      <label for="pwd">Description</label>
      <input type="text" class="form-control" name="Description" id="Description">
    </div>
    
 


    <button  type="submit" id="insertData" class="btn btn-default">Register</button>
  </form>
  <p id="showdata"></p>
</div>


</body>
</html>


#show.blade.php


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>

        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>ProductName</th>
                    <th>Price</th>
                    <th>Discount</th>
                    <th>Discription</th>
                    
                </tr>
            </thead>
            <tbody>
                @foreach($userList as $item)
                    <tr>
                        <td>{{ $item->id}}</td>
                        <td>{{ $item->productname}}</td>
                        <td>{{ $item->price}}</td>
                        <td>{{ $item->discount}}</td>
                        <td>{{ $item->descrition}}</td>
                        
                        
                    </tr>
                
                @endforeach
            </tbody>
        </table>
        <!-- câu lệnh phân trang -->
        {!! $userList->links() !!} 
    
</body>
</html>


#2020_07_04_032943_create_product_table.php


<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateProductTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('product', function (Blueprint $table) {
            $table->id();
            $table->string('productname',100);
            $table->string('price',50);
            $table->string('discount',50);
            $table->string('descrition',150);
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('product');
    }
}


#productSeeder.php


<?php

use Illuminate\Database\Seeder;

class productSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // DB::table('product')->DB::insert([
        //     ['productname'=>'bcs1','price'=>'100$','discount'=>'1%','descrition'=>'very good'],
        //     ['productname'=>'bcs1','price'=>'100$','discount'=>'1%','descrition'=>'very good'],
        //     ['productname'=>'bcs1','price'=>'100$','discount'=>'1%','descrition'=>'very good'],
        // ]);
        DB::table('product')->insert([
        	'productname'=>'Nokia 1280',
        	'price'=>'100$',
            'discount'=>'1%',
            'descrition'=>'very good'
        ]);
        DB::table('product')->insert([
        	['productname'=>'Nokia 1280','price'=>'100$','discount'=>'1%','descrition'=>'very good'],
            ['productname'=>'Nokia 1280','price'=>'100$','discount'=>'1%','descrition'=>'very good'],
            ['productname'=>'Nokia 1280','price'=>'100$','discount'=>'1%','descrition'=>'very good'],
        ]);
    }
}


Phân Loại Bài Viết

Danh Sách Bài Học

Đã sao chép!!!