QUẢN LÝ SINH VIÊN (KHÔNG DÙNG DATABASE) - Khóa học lập trình Laravel
📝 Yêu cầu cụ thể:
1. Tạo Controller
Tạo SinhVienController với các hàm sau:
-
index()→ Hiển thị danh sách sinh viên (dữ liệu giả định trong mảng). -
create()→ Hiển thị form thêm sinh viên mới. -
store()→ Nhận dữ liệu POST từ form, xử lý (tạm thời chỉ hiển thị lại trên view, không lưu DB). -
search()→ Nhận dữ liệu GET để tìm sinh viên theo tên.
2. Khai báo Route (có alias)
Trong file routes/web.php, tạo các route:
| Đường dẫn | Phương thức | Controller | Alias |
|---|---|---|---|
/students | GET | index() | students.index |
/students/create | GET | create() | students.create |
/students/store | POST | store() | students.store |
/students/search | GET | search() | students.search |
3. Dữ liệu mẫu
Trong Controller, tạo mảng sinh viên mẫu để hiển thị, ví dụ:
| Họ tên | Mã SV | Tuổi | Lớp | Điểm TB |
|---|---|---|---|---|
| Nguyễn Văn A | SV001 | 20 | CNTT1 | 8.5 |
| Trần Thị B | SV002 | 21 | CNTT2 | 7.8 |
| Lê Văn C | SV003 | 19 | CNTT1 | 9.2 |
4. Giao diện & Layout
Tạo 1 layout chính resources/views/layouts/app.blade.php
→ Chứa header, menu, footer, và phần @yield('content') để nhúng nội dung từng trang.
Các view con:
-
students/index.blade.php→ Danh sách sinh viên -
students/create.blade.php→ Form thêm sinh viên -
students/result.blade.php→ Kết quả sau khi thêm hoặc tìm kiếm
5. Form và Blade
-
Trang
index.blade.php:-
Hiển thị danh sách sinh viên bằng @foreach.
-
Dùng @if để đánh dấu sinh viên có điểm TB ≥ 8 là “Giỏi”.
-
Có form GET để tìm kiếm theo tên sinh viên (
/students/search).
-
-
Trang
create.blade.php:-
Tạo form POST để nhập: họ tên, mã SV, tuổi, lớp, điểm TB.
-
Khi submit → gửi đến route
students.store.
-
-
Trang
result.blade.php:-
Hiển thị lại thông tin sinh viên vừa nhập (dùng @for để minh họa).
-
6. Yêu cầu giao diện
-
Giao diện Bootstrap 5.
-
Menu trên cùng có 2 liên kết: “Danh sách sinh viên” và “Thêm sinh viên”.
-
Sử dụng layout để tránh trùng code giữa các trang.