Skip to main content

Session 20 - Lab

I. Viết class truy vấn dữ liệu theo hướng đối tượng

Cấu trúc thư mục bài tập hoàn chỉnh như sau

Tạo table

-- Dumping structure for table aptech.users
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fullname` varchar(50) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`gender` bit(1) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

Bước 1: Tạo abstract class BaseDataprovider

Class này là abstract class, chứa các phương thức cần có của 1 dataprovider như:

  • Tìm theo ID
  • Tìm tất cả

Code như sau:

Bước 2: Tạo class con UserDataprovider extends BaseDataprovider

Class con sẽ extends BaseDataprovider và định nghĩa các phương thức abstract.

  • Định nghĩa ID
  • Định nghĩa bảng
  • Định nghĩa cột

Code như sau

Bước 3: Tạo trang danh sách tài khoản

Tạo trang giao diện chứa danh sách tài khoản. Import class UserDataprovider với từ khóa use, sau đó dùng provider này để truy vấn dữ liệu.

Code như sau:

Bước 4: Tạo trang chi tiết tài khoản

Tạo trang giao diện hiển thị chi tiết tài khoản. Import class UserDataprovider với từ khóa use, sau đó dùng provider này để truy vấn dữ liệu.

Code như sau:

II. Tiếp nối bài I, nhưng là danh sách bài Viết

Tạo table

CREATE TABLE IF NOT EXISTS `products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(10) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`price` decimal(20,6) DEFAULT NULL,
`description` varchar(50) DEFAULT NULL,
`category` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;


INSERT INTO `products` (`id`, `code`, `name`, `price`, `description`, `category`) VALUES
(1, 'IP0001', 'IPhone X', 11000000.000000, 'IPhone mười xịn xò', 'Điện thoại'),
(2, 'SS0003', 'Samsung A13', 4350000.000000, 'Điện thoại ghẻ', 'Điện thoại'),
(3, 'MTB005', 'Samsung Tab 99', 36500000.000000, 'Máy tính bảng xịn', 'Máy tính bảng');

Bước 1: Tạo class con ProductDataprovider extends BaseDataprovider

Class con sẽ extends BaseDataprovider và định nghĩa các phương thức abstract.

  • Định nghĩa ID
  • Định nghĩa bảng
  • Định nghĩa cột

Code như sau

Bước 2: Tạo trang danh sách sản phẩm

Tạo trang giao diện chứa danh sách sản phẩm. Import class UserDataprovider với từ khóa use, sau đó dùng provider này để truy vấn dữ liệu.

Code như sau: