Chức Năng In Trong Php Và Mysql (Phần 5), Chức Năng In Trong Php

Phân trang cơ bản là quy trình lấy một tập hợp các công dụng và phân tạo thành các trang để dễ dàng xem hơn.Với những website có dữ liệu lớn, việc phân trang là rất quan trọng, nó giúp trang web sẽ load nhanh hơn , giúp fan dùng dễ ợt nhấn chọn trang cơ mà mình hy vọng muốn, mang lại được trang tất cả nội dung mà lại mình cần, rất cấp tốc chóng, dễ dàng và chính xác.

Bạn đang xem: Chức năng in trong php và mysql (phần 5), chức năng in trong php


*

Phân trang cơ bạn dạng là quy trình lấy một tập hòa hợp các tác dụng và phân phân thành các trang để dễ dàng xem hơn.Với những website có tài liệu lớn, câu hỏi phân trang là rất quan trọng, nó giúp website sẽ load cấp tốc hơn , giúp người dùng dễ dãi nhấn chọn trang mà mình ý muốn muốn, mang lại được trang bao gồm nội dung mà mình cần, rất nhanh chóng, thuận lợi và chính xác. Trong nội dung bài viết này obatambeienwasirherbal.comsẽ gửi ra phát minh thuật toán và khuyên bảo làm công dụng phân trang vào PHP.

Ý tưởng thuật toán phân trang

Trường hợp 1:Phân trang mang lại bảng tin tức và tổng số records là 1000. Yêu ước phân trang với từng trang 10 records.

Với trường hòa hợp này ta tất cả tổng số trang là 1000/10 = 100. Nhưng vụ việc là làm cố gắng nào nhằm truy vấn mang ra các records khớp ứng với mỗi trang? Để xử lý vấn đề này thì ta áp dụng LIMIT trong MySQL. Do vậy câu truy nã vấn cho từng trang đang như sau:

Trang 01:SELECT * FROM NEWS LIMIT0, 10Trang 02:SELECT * FROM NEWS LIMIT10, 10Trang 03:SELECT * FROM NEWS LIMIT20, 10Trang 04:SELECT * FROM NEWS LIMIT30, 10

Trường hợp tổng số trang là số lẻ và không phân chia hết cho số records trên một trang thì ta cần làmtròn phép phân chia ở cận trên.

Ví dụ: tổng thể records là 22, số records bên trên một trang là 10 thì tổng cộng trang là 22/10 = 2.2, làm tròn lên vẫn là 3.

Bây giờ đồng hồ là làm nạm nào để khẳng định các con số red color ở những câu truy vấn vấn trên? những con số màu đỏ ta hotline làstart.

Định nghĩa:

total_record: toàn bô recordscurrent_page: trang hiện tạilimit: số records hiện trên mỗi trangstart: record bắt đầu trong câu lệnh SQL

Và đó là công thức tính start:

Trang 01: start =(1 - 1) * 10= 0, tương đương với (current_page - 1) * limit.Trang 02: start = (2 - 1) * 10 =10, tương đương với(current_page - 1) * limit.Trang 03: start = (3 - 1) * 10 =20, tương tự với(current_page - 1) * limit.Trang 04: start = (4 - 1) * 10=30, tương đương với(current_page - 1) * limit.

Xem thêm: qqtube là gì

Như vậy thuật toán bình thường để tính start kia là: start =(current_page - 1) * limit.

Hướng dẫn phân trang bởi PHP

Từ suy luận sinh hoạt trên ta thấy để phân trang thì nên biết những tham số:

Tổng số records: Ta dùng lệnh count trong MySQL.Trang hiện tại: dựa vào tham số page bên trên URL.Số records trong mỗi trang: Tham số bởi vì coder từ truyền vào.

Để rõ hơn thì ta sẽ làm cho một ví dụ áp dụng MySQL cùng PHP nhằm phân trang luôn.

Tạo database:

Bạn sinh sản một database thương hiệu là paging_examplevà tiếp nối chạy câu lệnh SQL sau:

CREATE TABLE IF NOT EXISTS `news` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) COLLATE utf8_unicode_ci mặc định NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB mặc định CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=46 ;Câu lệnh này sẽ khởi tạo một table thương hiệu là news. Tiếp theo sau ta insert vào một vài dữ liệu nhằm chạy demo.

INSERT INTO `news` (`id`, `title`) VALUES(1, "Title 1"),(2, "Title 2"),(3, "Title 3"),(4, "Title 4"),(5, "Title 5"),(6, "Title 6"),(7, "Title 7"),(8, "Title 8"),(9, "Title 9"),(10, "Title 10"),(11, "Title 11"),(12, "Title 12"),(13, "Title 13"),(14, "Title 14"),(15, "Title 15"),(16, "Title 16"),(17, "Title 17"),(18, "Title 18"),(19, "Title 19"),(20, "Title 20"),(21, "Title 21"),(22, "Title 22"),(23, "Title 23"),(24, "Title 24"),(25, "Title 25"),(26, "Title 26"),(27, "Title 27"),(28, "Title 28"),(29, "Title 29"),(30, "Title 30"),(31, "Title 31"),(32, "Title 32"),(33, "Title 33"),(34, "Title 34"),(35, "Title 35"),(36, "Title 36"),(37, "Title 37"),(38, "Title 38"),(39, "Title 39"),(40, "Title 40"),(41, "Title 41"),(42, "Title 42"),(43, "Title 43"),(44, "Title 44"),(45, "Title 45");

Tạo layout:

Bạn sinh sản một tệp tin tên là index.php và sau đó copy đoạn mã HTML bên dưới đây: