CakePHP Framework: Tìm hiểu kỹ thuật phân trang
Số trang: 9
Loại file: pdf
Dung lượng: 143.57 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
CakePHP Framework: Tìm hiểu kỹ thuật phân trang
.Qua loạt bài trước về CakePHP Framework, hẳn lúc này các bạn đã có góc nhìn tương đối về nguyên tắc làm việc của CakePHP. Nhất là chúng ta đã tìm hiểu về cách thức hoạt động đối với cơ sở dữ liệu trong CakePHP. Ở bài này, chúng ta tiếp tục tìm hiểu về kỹ thuật phân trang của CakePHP để hoàn thiện ứng dụng một cách đầy đủ hơn.
Để dễ dàng cho việc tương tác với cơ sở dữ liệu (CSDL). Trước tiên chúng ta cần cấu hình theo đường dẫn...
Nội dung trích xuất từ tài liệu:
CakePHP Framework: Tìm hiểu kỹ thuật phân trang CakePHP Framework: Tìm hiểu kỹ thuật phân trang Qua loạt bài trước về CakePHP Framework, hẳn lúc này các bạn đã có góc nhìn tương đối về nguyên tắc làm việc của CakePHP. Nhất là chúng ta đã tìm hiểu về cách thức hoạt động đối với cơ sở dữ liệu trong CakePHP. Ở bài này, chúng ta tiếp tục tìm hiểu về kỹ thuật phân trang của CakePHP để hoàn thiện ứng dụng một cách đầy đủ hơn. Để dễ dàng cho việc tương tác với cơ sở dữ liệu (CSDL). Trước tiên chúng ta cần cấu hình theo đường dẫn app/config/database.php thông tin kết nối vào hệ thống. (Xem lại bài CakePHP Framework cho người mới bắt đầu). Sau khi đã kết nối vào hệ thống, tiếp đến ta tiến hành thực hiện các câu truy vấn sau để tiến hành tạo bảng dữ liệu mẫu, để phục vụ cho những đoạn code test bên dưới. 01 CREATE TABLE `books` ( 02 `id` int(11) NOT NULL AUTO_INCREMENT, `isbn` varchar(13) NOT 03 NULL, 04 `title` varchar(64) NOT NULL, 05 `description` text NOT NULL, 06 PRIMARY KEY (`id`) 07 ) 08 INSERT INTO `books` VALUES ('1', 'abcxyz', 'Kĩ thuật lập trình', 'Kĩ 09 thuật lập trình'); INSERT INTO `books` VALUES ('2', 'c,c++', 'Lập trình C', 'Lap trinh C 10 can ban'); INSERT INTO `books` VALUES ('3', 'C++', 'Cấu trúc dữ liệu và giả 11 thuật', 'Cau truc du lieu va giai thuat'); INSERT INTO `books` VALUES ('4', 'php', 'PHP căn bản', 'php, lap trinh 12 php'); INSERT INTO `books` VALUES ('5', 'php nc', 'PHP Nâng cao', 'php,php 13 nang cao'); INSERT INTO `books` VALUES ('6', 'php fw', 'PHP Framework', 'php, 14 php framework'); 15 INSERT INTO `books` VALUES ('22', 'abc', 'Lập trình ứng dụng web tập I', 'Lập trình ứng dụng web tập I'); INSERT INTO `books` VALUES ('24', 'abc', 'Lập trình ứng dụng web tập 16 II', 'abc'); INSERT INTO `books` VALUES ('26', 'abc', 'Lập trình web với 17 CakePHP', 'abc'); INSERT INTO `books` VALUES ('27', 'acb', 'Lập trình web với 18 CodeIgniter', 'abc'); INSERT INTO `books` VALUES ('28', 'abc', 'Tutorial covered by Thái 19 Thanh Phong ^0^', 'abc'); Tiếp tục, ta tạo Controller Books (app/controllers/books/books_controller.php) 01 07 08 //------- Paging Normal 09 function paging(){ 10 $this->paginate = array( 11 'limit' => 4, 12 'order' => array('title' => 'desc'), 13 ); 14 $data = $this->paginate(Book); 15 $this->set(data,$data); 16 } - Để sử dụng chức năng phân trang của cakePHP thì trong Controller cần có thành phần helper Paginator : 1 var $helpers = array('Paginator','Html'); và namespace paginate : 1 var $paginate = array(); - Ở đây tôi lấy tất dữ liệu bắt đầu với 4 record đầu tiên vào theo thứ tự giảm dần theo “title”. 1 $this->paginate = array( 2 'limit' => 4, 3 'order' => array('title' => 'desc'), 4 ); - Nếu chỉ lấy những 1 số field cần thiết : 1 $this->paginate = array( 2 ‘field’ =>array(“title”,”info”), 3 'limit' => 4, 4 'order' => array('title' => 'desc'), 5 ); - Để lấy dữ liệu theo cấu hình của biến namespace paginate ta dùng hàm $this->paginate(‘ten_model'), trong ví dụ này model của tôi có tên là Book. 1 $data = $this->paginate(Book); - Việc cấu hình biến namspace paginate dùng hàm $this- >paginate(‘ten_model') Giống như việc cấu hình điều kiện truy xuất dữ liệu và lấy dữ liệu bằng hàm$this->find(‘…');.(Xem lại hàm truy vấn CSDL) - Chúng ta chỉ cần cấu hình như vậy là có thể phân trang cho CSDL , mặc định cakePHP dùng biến page để xác định trang hiện tại. Tiếp tục, ta tạo model Book (app/models/book.php) 1 echo Page .$this->Paginator->counter(); // prints X of Y, where X is 07 current page and Y is number of pages 08 ?> 09 10 echo .$item['Book']['title'].; 24 echo ; 25 } 26 } 27 ?> 28 29 Cuối cùng, ta chạy với đường dẫn sau để xem kết quả: http://localhost/cakephp/books/paging
Nội dung trích xuất từ tài liệu:
CakePHP Framework: Tìm hiểu kỹ thuật phân trang CakePHP Framework: Tìm hiểu kỹ thuật phân trang Qua loạt bài trước về CakePHP Framework, hẳn lúc này các bạn đã có góc nhìn tương đối về nguyên tắc làm việc của CakePHP. Nhất là chúng ta đã tìm hiểu về cách thức hoạt động đối với cơ sở dữ liệu trong CakePHP. Ở bài này, chúng ta tiếp tục tìm hiểu về kỹ thuật phân trang của CakePHP để hoàn thiện ứng dụng một cách đầy đủ hơn. Để dễ dàng cho việc tương tác với cơ sở dữ liệu (CSDL). Trước tiên chúng ta cần cấu hình theo đường dẫn app/config/database.php thông tin kết nối vào hệ thống. (Xem lại bài CakePHP Framework cho người mới bắt đầu). Sau khi đã kết nối vào hệ thống, tiếp đến ta tiến hành thực hiện các câu truy vấn sau để tiến hành tạo bảng dữ liệu mẫu, để phục vụ cho những đoạn code test bên dưới. 01 CREATE TABLE `books` ( 02 `id` int(11) NOT NULL AUTO_INCREMENT, `isbn` varchar(13) NOT 03 NULL, 04 `title` varchar(64) NOT NULL, 05 `description` text NOT NULL, 06 PRIMARY KEY (`id`) 07 ) 08 INSERT INTO `books` VALUES ('1', 'abcxyz', 'Kĩ thuật lập trình', 'Kĩ 09 thuật lập trình'); INSERT INTO `books` VALUES ('2', 'c,c++', 'Lập trình C', 'Lap trinh C 10 can ban'); INSERT INTO `books` VALUES ('3', 'C++', 'Cấu trúc dữ liệu và giả 11 thuật', 'Cau truc du lieu va giai thuat'); INSERT INTO `books` VALUES ('4', 'php', 'PHP căn bản', 'php, lap trinh 12 php'); INSERT INTO `books` VALUES ('5', 'php nc', 'PHP Nâng cao', 'php,php 13 nang cao'); INSERT INTO `books` VALUES ('6', 'php fw', 'PHP Framework', 'php, 14 php framework'); 15 INSERT INTO `books` VALUES ('22', 'abc', 'Lập trình ứng dụng web tập I', 'Lập trình ứng dụng web tập I'); INSERT INTO `books` VALUES ('24', 'abc', 'Lập trình ứng dụng web tập 16 II', 'abc'); INSERT INTO `books` VALUES ('26', 'abc', 'Lập trình web với 17 CakePHP', 'abc'); INSERT INTO `books` VALUES ('27', 'acb', 'Lập trình web với 18 CodeIgniter', 'abc'); INSERT INTO `books` VALUES ('28', 'abc', 'Tutorial covered by Thái 19 Thanh Phong ^0^', 'abc'); Tiếp tục, ta tạo Controller Books (app/controllers/books/books_controller.php) 01 07 08 //------- Paging Normal 09 function paging(){ 10 $this->paginate = array( 11 'limit' => 4, 12 'order' => array('title' => 'desc'), 13 ); 14 $data = $this->paginate(Book); 15 $this->set(data,$data); 16 } - Để sử dụng chức năng phân trang của cakePHP thì trong Controller cần có thành phần helper Paginator : 1 var $helpers = array('Paginator','Html'); và namespace paginate : 1 var $paginate = array(); - Ở đây tôi lấy tất dữ liệu bắt đầu với 4 record đầu tiên vào theo thứ tự giảm dần theo “title”. 1 $this->paginate = array( 2 'limit' => 4, 3 'order' => array('title' => 'desc'), 4 ); - Nếu chỉ lấy những 1 số field cần thiết : 1 $this->paginate = array( 2 ‘field’ =>array(“title”,”info”), 3 'limit' => 4, 4 'order' => array('title' => 'desc'), 5 ); - Để lấy dữ liệu theo cấu hình của biến namespace paginate ta dùng hàm $this->paginate(‘ten_model'), trong ví dụ này model của tôi có tên là Book. 1 $data = $this->paginate(Book); - Việc cấu hình biến namspace paginate dùng hàm $this- >paginate(‘ten_model') Giống như việc cấu hình điều kiện truy xuất dữ liệu và lấy dữ liệu bằng hàm$this->find(‘…');.(Xem lại hàm truy vấn CSDL) - Chúng ta chỉ cần cấu hình như vậy là có thể phân trang cho CSDL , mặc định cakePHP dùng biến page để xác định trang hiện tại. Tiếp tục, ta tạo model Book (app/models/book.php) 1 echo Page .$this->Paginator->counter(); // prints X of Y, where X is 07 current page and Y is number of pages 08 ?> 09 10 echo .$item['Book']['title'].; 24 echo ; 25 } 26 } 27 ?> 28 29 Cuối cùng, ta chạy với đường dẫn sau để xem kết quả: http://localhost/cakephp/books/paging
Tìm kiếm theo từ khóa liên quan:
cơ sở dữ liệu thông tin kết nối kết nối vào hệ thống bảng dữ liệu mẫu PHP Framework ứng dụng webGợi ý tài liệu liên quan:
-
62 trang 402 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
13 trang 295 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 294 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 290 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 257 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 247 0 0 -
8 trang 221 0 0
-
Nâng cao tính bảo mật trong xác thực người dùng Web sử dụng đặc trưng sinh trắc học
12 trang 207 0 0 -
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 186 0 0