IMG-LOGO
Trang Chủ Học 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
×

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 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

by GokiSoft.com - 15:02 23/06/2021 2,256 Lượt Xem

Yêu cầu như sau

1. Tạo file route đặt tên là hotel.php -> thực hiện đăng ký để laravel nhận route trên

2. File route hotel.php được thiết kế như sau

<?php

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

		Route::get('/detail', '[email protected]')->name('showDetail');
	});

-> Yêu cầu viết hoàn thiện các phần còn thiếu để chương trình không bị lỗi. 

Yêu cầu:

1. route name (showAll) sẽ gọi tới view đặt tên là index.blade.php

Hàm showAll thực hiện tạo 1 danh sách dữ liệu fake phòng trong khách sạn (gồm các trường : mã phòng, loại phòng, tầng, giá tiền), tên khách san, địa chỉ khách sạn -> thực hiện gửi các thông tin trên từ controller sang view. Và hiển thị chúng trên view.

2. route name (showDetail) sẽ gọi tới view đặt tên là view.blade.php

trong hàm showDetail của HotelController. Cài đặt các biên : mã phòng, loại phọng, tâng, giá tiền -> thực hiện gửi dữ liệu sang view detail và hiển thị nó.



Bình luận



Chia sẻ từ lớp học

Trần Văn Lâm [T2008A]

Ngày viết: 22:42 24/06/2021


#index.blade.php


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Index Page</title>
</head>
<body>
	@foreach ($roomList as $room)
	<p>{{$hotelName}}</p>
	<p>{{$address}}</p>
	<p>{{$room['roomId']}}</p>
	<p>{{$room['type']}}</p>
	<p>{{$room['floor']}}</p>
	<p>{{$room['price']}}</p>
	@endforeach
</body>
</html>


#view.blade.php


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>View Page</title>
</head>
<body>
	@foreach ($roomList as $room)
	<p>{{$room['roomId']}}</p>
	<p>{{$room['type']}}</p>
	<p>{{$room['floor']}}</p>
	<p>{{$room['price']}}</p>
	@endforeach
</body>
</html>


#HotelController.php


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HotelController extends Controller
{

    function showAll(Request $request){
        $roomList = [];
        for ($i=0; $i <= 5; $i++) { 
            $room [] = {
                $roomId => 'room'.$i;
                $type    => 'vippro';
                $floor   => $i;
                $price   => '1000$';
            }
        }
        $hotelName = "Sky Garden";
        $address   = "TP HCM";

        return view('hotel/index')->with([
            'roomList'  => $roomList,
            'hotelName' => $hotelName,
            'address'   => $address
        ]); 
    }
    function showDetail(Request $request){
        $roomList = [];
        for ($i=0; $i <= 5 ; $i++) { 
            $roomList [] = {
                $roomId => 'room'.$i;
                $type   =>'vippro';
                $floor  => $i;
                $price  => '1000$';      
            } 
        }

        return view('hotel/view')->with([
            'roomList'  => $roomList,
        ]);
    }
}


#hotel.php


<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Route;

Route::group(['prefix' => '/hotel'], function () {
		Route::get('/view','App\Http\Controllers\[email protected]')->name('showAll');

		Route::get('/detail', 'App\Http\Controllers\[email protected]')->name('showDetail');
	});


vuong huu phu [T2008A]

Ngày viết: 19:26 23/06/2021



<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HotelController extends Controller
{
   public function showAll(Request $request){
    $maphong ='12345';
    $loaiphong = 'vip';
    $tang='1';
    $giatien='345';
    $ten_ks ='AAA';
    $diachi_ks='BBB';
    return view('index')->with([
        'maphong' => $maphong,
        'loaiphong' => $loaiphong,
        'tang' => $tang,
        'giatien' => $giatien,
        'ten_ks' => $ten_ks,
        'diachi_ks' => $diachi_ks
    ]);
   }

   public function showDetail(){
     $maphong ='12345';
    $loaiphong = 'vip';
    $tang='1';
    $giatien='345';
    return view('view')->with([
        'maphong' => $maphong,
        'loaiphong' => $loaiphong,
        'tang' => $tang,
        'giatien' => $giatien
    ]);
   }
}



<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
<p>{{$maphong}}</p>
<p>{{$loaiphong}}</p>
<p>{{$tang}}</p>
<p>{{$giatien}}</p>
</body>
</html>



<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
<p>{{$maphong}}</p>
<p>{{$loaiphong}}</p>
<p>{{$tang}}</p>
<p>{{$giatien}}</p>
<p>{{$ten_ks}}</p>
<p>{{$diachi_ks}}</p>
</body>
</html>



<?php
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => '/hotel'], function () {
		Route::get('/view','App\Http\Controllers\[email protected]')->name('showAll');

		Route::get('/detail', 'App\Http\Controllers\[email protected]')->name('showDetail');
	});


Nguyễn Tiến Đạt [T2008A]

Ngày viết: 16:17 23/06/2021



<?php

namespace App\Http\Controllers\Hotel;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class HotelController extends Controller
{
    public function showAll(Request $request)
    {
        $roomList = [];
        for ($i=1; $i <= 10; $i++) { 
            $roomList[]=[
                'code' => 'DAT' . $i,
                'type' => 'expensive',
                'floor' => $i,
                'price' => $i*100 + 2*$i
            ];
        }
        $hotelName = "Nguyen Tien Dat";
        $hotelAddress = "Ha Noi";
        return view('hotel/index')->with([
            'roomList' => $roomList,
            'hotelName' => $hotelName,
            'hotelAddress' => $hotelAddress
        ]);
    }
    public function showDetail(Request $request)
    {
        $room = [
            'code' => 'DAT09',
            'type' => 'expensive',
            'floor' => 19,
            'price' => 20000
        ];
        $hotelName = "Nguyen Tien Dat";
        $hotelAddress = "Ha Noi";
        return view('hotel/view')->with([
            'room' => $room,
            'hotelName' => $hotelName,
            'hotelAddress' => $hotelAddress,
        ]);
    }
}


Trương Công Vinh [T1907A]

Ngày viết: 16:11 25/06/2020

hotel.php


<?php
use Illuminate\Support\Facades\Route;

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

		Route::get('/detail', '[email protected]')->name('showDetail');
	});

index.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
           
  <table class="table table-hover">
    <thead>
      <tr>
        <th>Name's Hotel</th>
        <th>Address</th>
        <th>Room is empty</th>
        <th ></th>
      </tr>
    </thead>
    <tbody>
      @foreach ($hotelList as $hotel)
      <tr>
        <td>{{$hotel['hotelName']}}</td>
        <td>{{$hotel['address']}}</td>
        <td>10</td>
        <td> <button type="button" class="btn btn-info"> <a style="color: white" href="detail">Detail</a> </button>
        </td>
      </tr>
      @endforeach
    </tbody>
  </table>
  <a href="" class="btn btn-success"> Input </a>

</div>

</body>
</html>

view.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
           
  <table class="table table-hover">
    <thead>
      <tr>
        <th>Id</th>
        <th>Type of Room</th>
        <th>floor</th>
        <th >price</th>
      </tr>
    </thead>
    <tbody>
      @foreach ($hotelList as $hotel)
      <tr>
        <td>{{$hotel['roomId']}}</td>
        <td>{{$hotel['typeRoom']}}</td>
        <td>{{$hotel['floor']}}</td>
        <td> {{$hotel['price']}}</button>
        </td>
      </tr>
      @endforeach
    </tbody>
  </table>
  <a href="view" class="btn btn-success"> <= </a>

</div>

</body>
</html>

HotelController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HotelController extends Controller
{
    //
    
    function showAll(Request $request){
        $hotelList = [];
        for ($i=1; $i < 10; $i++) { 
            # code...
            $hotelList[]=[
                'roomId' => 'Room'.$i,
                'typeRoom'=> ($i%2==0)?'vip':'nomal',
                'floor' => ($i%2==0)?'2':'1',
                'price' => '$10/day',
                'hotelName' => 'hotel'.$i,
                'address' => $i
            ];
           
    } 
    return view('hotel.index')->with([
        'hotelList' => $hotelList
    ]);
    }
    function showDetail(Request $request){
        $hotelList = [];
        for ($i=1; $i < 10; $i++) { 
            # code...
            $hotelList[]=[
                'roomId' => 'Room'.$i,
                'typeRoom'=> ($i%2==0)?'vip':'nomal',
                'floor' => ($i%2==0)?'2':'3',
                'price' => '$10/day',
                'hotelName' => 'hotel'.$i,
                'address' => $i
            ];
           
        }
        return view('hotel.view')->with([
            'hotelList' => $hotelList
        ]);
        }
}


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

Danh Sách Bài Học

Đã sao chép!!!