Mục tiêu

Luyện tập sử dụng hàm và mảng đa chiều để lọc danh sách khách hàng.

Mô tả – lọc danh sách khách hàng

Sử dụng trang web hiển thị danh sách khách hàng từ bài trước. Xây dựng hàm để lọc các khách hàng có ngày sinh nằm trong khoảng tùy chọn. Trang index.php có thêm form để lọc khách hàng theo ngày sinh từ …. đến ….

Nếu không có khách hàng nào trong khoảng được lọc thì hiển thị thông báo không tìm thấy. Nếu có thì hiển thị khách hàng đó lên bảng.

Các bước thực hiện

Bước 1: Tạo file index.php, sử dụng mã html tạo giao diện như hình.

Lọc danh sách khách hàng

Mã HTML:

Chạy chương trình và quan sát kết quả.

Bước 2: Tạo dữ liệu để chạy thử chương trình.

Tạo một mảng là một danh sách khách hàng. Việc lọc ở bước kế tiếp sẽ lọc trong danh sách khách hàng này.

Mã PHP:

Bước 3: Xây dựng hàm tìm kiếm searchByDate() với 3 tham số đầu vào.

Nguyên mẫu hàm: function searchByDate($customers, $from_date, $to_date) {}

Trong đó:

  • $customers là danh sách khách hàng ban đầu
  • $from_date là ngày bắt đầu
  • $to_date là ngày kết thúc

Mã PHP:

Bước 4: Gọi hàm tìm kiếm

Lấy $from_date và $to_date từ form và gọi hàm lọc khách hàng.

Mã PHP:

Bước 5: Hiển thị danh sách khách hàng.

Mã PHP:

Kiểm thử:

1 : Tìm khách hàng có ngày sinh từ 1983-08-20 đến 1983-08-23. Kết quả hiển thị như hình:

2: Tìm khách hàng nhưng không nhập ngày sinh. Kết quả hiển thị như hình:

3: Tìm khách hàng nhập ngày sinh  từ 1983/9/1 đến 1982/19/2. Kết quả hiển thị như hình:

Qua bài tập trên chúng ta đã luyện tập:

  • Khai báo mảng đa chiều
  • Duyệt mảng đa chiều với vòng lặp foreach
  • Sử dụng câu lệnh if
  • Xây dựng hàm với tham số đầu vào
  • Gọi hàm

Mã nguồn mẫu: https://github.com/codegym-vn/customer-filter

Demo: http://demo.codegym.vn/lamp/3/customer-filter/

Trên đây CodeGym đã cùng với bạn luyện tập sử dụng hàm và mảng đa chiều. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.