Phân trang PHP không có SQL
Tạo phần tử phân trang HTML bằng PHP. Tương thích với Bootstrap và các lớp dễ dàng tùy chỉnh Show
phân trang pagination-components php-pagination bootstrap-pager
rendy-ananda / php-mysql-phân trangSao 2
phân trang bằng php và mysql phân trang mysql php php7 phân trang bảng cơ sở dữ liệu mysql phân trang php phân trang liên kết
benhall14 / phân trang phpSao 2
Một lớp phân trang PHP nhẹ để xuất các liên kết phân trang phân trang php phân trang php phân trang liên kết bootstrap-phân trang
mustafadalga / Phân trang PHPSao 1
PHP ile Sayfalama Yapımı phân trang php php7 phân trang php
julekgwa / php_paginatorSao 1
Phân trang PHP và MySQL phân trang php-phân trang mysql-php-phân trang
Modularr / Linh hoạt-PHP-Phân trangSao 1
Lớp phân trang PHP linh hoạt được thiết kế để trở thành hệ thống phân trang PHP dễ sử dụng nhất mà không làm mất bất kỳ tùy chọn tùy chỉnh nào phân trang php gói soạn thảo linh hoạt phân trang php
teodoroleckie/người đánh số trangNhà tài trợ Sao 0
⚡Trình phân trang Php. Thư viện máy nhắn tin để quản lý phân trang phân trang php php phân trang php8 paginator
gautham1995 / phân trangSao 0
phân trang trong php phân trang php-phân trang
coyote333666 / ppmSao 0
Thư viện phía máy chủ gồm các hàm đơn giản bằng PHP đơn giản (không có Json) để quản lý phân trang của các bảng dữ liệu động (datagrid) được tạo bởi cơ sở dữ liệu Postgresql. Nó cũng cho phép bạn sắp xếp kết quả theo cột phân trang php sắp xếp bảng dữ liệu postgresql paginator phía máy chủ lưới dữ liệu bảng phân loại cột quản lý trang php phân trang trang động Thông thường, truy vấn SQL SELECT có thể trả về kết quả chứa hàng nghìn hoặc hàng triệu bản ghi. hiển thị tất cả các bản ghi đó trên một trang không phải là một ý tưởng hay. Vì vậy, đầu ra có thể được chia thành nhiều trang Phân trang là gì?Phân trang cho phép bạn hiển thị tất cả các kết quả đã truy xuất của mình trên nhiều trang thay vì tất cả chúng trên một trang Tôi có thể nhớ nhiều năm trước, khi tôi lần đầu tiên bắt đầu viết mã bằng PHP và MySQL, tôi đã rất phấn khích khi lần đầu tiên lấy thông tin từ cơ sở dữ liệu để hiển thị trong trình duyệt web Đối với một người có ít kiến thức về cơ sở dữ liệu và lập trình, việc nhìn thấy các hàng trong bảng đó hiển thị trên màn hình dựa trên mã tôi đã viết (được thôi, vì vậy tôi đã sao chép một ví dụ từ một cuốn sách) mang lại cho tôi cảm giác chiến thắng. Có thể lúc đó tôi chưa hiểu hết tất cả những điều kỳ diệu trong công việc, nhưng thành công đầu tiên đó đã thôi thúc tôi thực hiện những dự án lớn hơn và tốt hơn Mặc dù mức độ say mê của tôi đối với cơ sở dữ liệu có thể không còn như trước đây, nhưng kể từ lần đầu tiên tôi gặp gỡ 'xin chào thế giới' với PHP và MySQL, tôi đã bị cuốn hút vào khả năng làm cho mọi thứ trở nên đơn giản và dễ sử dụng Là một nhà phát triển, một vấn đề mà tôi thường xuyên gặp phải là lấy một lượng lớn thông tin và làm cho nó dễ hiểu. Cho dù đó là danh sách khách hàng của một công ty lớn hay danh mục MP3 cá nhân, việc phải ngồi và nhìn chằm chằm vào từng hàng dữ liệu có thể khiến bạn nản lòng và bực bội. Một nhà phát triển giỏi có thể làm gì? Tìm kiếm một giải pháp nhanh chóng?Nếu bạn đang tìm kiếm một giải pháp nhanh chóng, thì có một bộ sưu tập tuyệt vời các tập lệnh phân trang và trình trợ giúp tại Envato Market Ví dụ: hãy dùng thử lớp phân trang ZPager PHP. Nó giúp dễ dàng tạo liên kết phân trang danh sách và tùy chỉnh chúng chỉ bằng vài cú nhấp chuột. ZPager hỗ trợ Bootstrap, MySQL và Smarty Template Engine và nó cũng cho phép bạn sử dụng các URL thân thiện với SEO 1. Phân trangPhân trang về cơ bản là quá trình lấy một tập hợp kết quả và trải chúng ra các trang để dễ xem hơn Tôi đã sớm nhận ra rằng nếu tôi có 5.000 hàng thông tin để hiển thị, thì không chỉ ai đó sẽ phải đau đầu để thử và đọc, mà hầu hết các trình duyệt sẽ sử dụng Internet vĩnh viễn (tôi. e. hơn khoảng năm giây) để hiển thị nó. Để giải quyết vấn đề này, tôi đã tạo một lớp PHP đơn giản, linh hoạt và dễ sử dụng mà tôi có thể sử dụng để phân trang trong tất cả các dự án của mình 2. Cơ sở dữ liệuPhải yêu MySQL. Không xúc phạm đến các hệ thống cơ sở dữ liệu khác ngoài kia, nhưng đối với tôi, tất cả những gì tôi cần là MySQL. Và một tính năng tuyệt vời của MySQL là họ cung cấp cho bạn một số cơ sở dữ liệu mẫu miễn phí để chơi tại https. // nhà phát triển. mysql. com/doc/#sampledb Đối với các ví dụ của tôi, tôi sẽ sử dụng cơ sở dữ liệu thế giới (đã nén ~90k), chứa hơn 4.000 bản ghi để chơi, nhưng cái hay của tập lệnh PHP mà chúng tôi sẽ tạo là nó có thể được sử dụng với bất kỳ cơ sở dữ liệu nào. Bây giờ tôi nghĩ tất cả chúng ta đều có thể đồng ý rằng nếu chúng ta quyết định không phân trang kết quả của mình, chúng ta sẽ nhận được một số kết quả rất dài và khó sử dụng như sau Vì vậy, hãy bắt tay vào chia nhỏ dữ liệu của chúng ta thành những phần dễ hiểu như thế này Đẹp, phải không? . Có thật không 3. Trình đánh số trangVí dụ này sẽ bao gồm hai tập lệnh. lớp phân trang có thể tái sử dụng và tệp chỉ mục sẽ hiển thị các mục và điều khiển của bảng người đánh số trang. tầng lớp. phpLớp paginator sẽ chỉ có hai phương thức và hàm tạo. Chúng tôi sẽ xây dựng nó dần dần, giải thích từng bước khi chúng tôi tiến về phía trước 1
2 3 class Paginator { 4 _______8 private $_conn;
0
1
2
3
4
5
6
7
820 21 Định nghĩa này chỉ đặt các biến thành viên bắt buộc của trình phân trang. Vì đây là lớp trình trợ giúp và nó chỉ dành cho phân trang, nên nó sẽ dựa vào kết nối hợp lệ đến máy chủ MySQL và một truy vấn đã được xác định, mà chúng tôi sẽ thêm các tham số cần thiết để phân trang kết quả. Chúng ta sẽ bắt đầu với phương thức khởi tạo 1
2 3 27 4 29 5 1
03
2
47
69
829 20 21 Khá đơn giản phải không? . Sau đó, nó sẽ tính toán tổng số hàng được truy vấn đó truy xuất mà không có bất kỳ tham số giới hạn hoặc bỏ qua nào. Tổng số này là cần thiết để tạo liên kết cho trình phân trang Lưu ý rằng, để đơn giản, chúng tôi không thực hiện kiểm tra lỗi hoặc bất kỳ xác thực nào khác đối với các tham số đã cho, nhưng trong một ứng dụng trong thế giới thực, những kiểm tra này sẽ cần thiết Truy xuất kết quảBây giờ, hãy tạo phương thức sẽ thực sự phân trang dữ liệu và trả về kết quả 1
2 37 3 29 4 class Paginator {1 5 class Paginator {3
0
2class Paginator {7
4class Paginator {9
641
843 20 45 46 47 48 0 1 2 3 4 45 6 8 9 50 51 52 53 54 55 56 57 58 private $_conn;0 private $_conn;1 private $_conn;2 21 Hãy phân tích từng bước một. Đầu tiên, chúng tôi đặt giới hạn và tham số trang, theo mặc định được đặt lần lượt là 10 và 1. Sau đó, chúng tôi kiểm tra xem người dùng có yêu cầu một số hàng nhất định hay tất cả chúng. Dựa trên tham số này và tham số trang, chúng tôi đặt thuật ngữ 387 của truy vấn. Lưu ý rằng chúng tôi lấy một từ số trang vì tập lệnh của chúng tôi tính từ 1 thay vì từ 0 Sau đó, chúng tôi chỉ cần đánh giá truy vấn và nhận kết quả. Cuối cùng, chúng tôi tạo một đối tượng kết quả mới chứa các tham số giới hạn, trang và tổng của truy vấn đã thực hiện, cũng như dữ liệu cho từng hàng đã truy xuất Hiển thị liên kết phân trangBây giờ, hãy viết phương thức được sử dụng để lấy các liên kết phân trang 1
2 private $_conn;7 3 class Paginator {7 4
015 45
0
2
07
4
6
11
8
1320 46
1748 0
212
234 6
278
2950
3152 45 54 56
3758
39private $_conn;0
41private $_conn;2 45
44
46
47
48
31
50
51
5245
54
56
57
58
59
60
62
63
64
66
67
6821 Đây là một phương pháp khá dài, vì vậy hãy xem xét nó chi tiết hơn Đầu tiên, chúng tôi đánh giá xem người dùng yêu cầu một số liên kết nhất định hay tất cả chúng. Nếu người dùng đang yêu cầu tất cả các liên kết, thì chúng tôi chỉ cần trả về một chuỗi trống, vì không cần phân trang Sau đó, chúng tôi tính toán trang cuối cùng dựa trên tổng số hàng có sẵn và các mục được yêu cầu trên mỗi trang Sau đó, chúng tôi lấy tham số liên kết, đại diện cho số lượng liên kết sẽ hiển thị bên dưới và bên trên trang hiện tại và tính toán liên kết bắt đầu và kết thúc để tạo Tiếp theo, chúng ta tạo thẻ mở cho danh sách và đặt lớp cho nó với tham số lớp danh sách. Chúng tôi cũng thêm liên kết "trang trước"—lưu ý rằng đối với liên kết này, chúng tôi kiểm tra xem trang hiện tại có phải là trang đầu tiên hay không và nếu có, chúng tôi sẽ đặt thuộc tính bị vô hiệu hóa của liên kết. Chúng tôi cũng hiển thị liên kết đến trang đầu tiên và biểu tượng dấu chấm lửng trong trường hợp liên kết bắt đầu không phải là liên kết đầu tiên Tiếp theo, chúng tôi thêm các liên kết bên dưới và bên trên trang hiện tại, dựa trên các tham số bắt đầu và kết thúc được tính toán trước đó. Trong mỗi bước, chúng tôi đánh giá trang hiện tại so với trang liên kết được hiển thị và đặt lớp hoạt động tương ứng Sau đó, chúng tôi hiển thị một biểu tượng dấu chấm lửng khác và liên kết đến trang cuối cùng, trong trường hợp liên kết cuối không phải là liên kết cuối cùng Cuối cùng, chúng tôi hiển thị liên kết "trang tiếp theo" và đặt trạng thái bị vô hiệu hóa khi người dùng đang xem trang cuối cùng, đóng danh sách và trả về chuỗi HTML đã tạo Đó là tất cả về lớp học 388. Tất nhiên, chúng tôi có thể thêm setters và getters cho kết nối cơ sở dữ liệu, giới hạn, trang, truy vấn và tổng tham số, nhưng để đơn giản, chúng tôi sẽ giữ nguyên như vậy 4. Trang chỉ mụcBây giờ chúng ta sẽ tạo chỉ mục. php, chịu trách nhiệm sử dụng lớp 388 và hiển thị dữ liệu. Trước tiên, hãy để tôi chỉ cho bạn HTML cơ bản 1
712
733
754
775
79
0
81
2
83
4
85
6
87
8
8920
9146
9348
950
972
994 201 6 203 8 205 50 207 52 209 54 211 56 213 58 215 private $_conn;0 217 Khá đơn giản—tệp này chỉ hiển thị một bảng mà chúng tôi sẽ điền thông tin lấy từ cơ sở dữ liệu. Lưu ý rằng đối với ví dụ này, tôi đang sử dụng Bootstrap để tạo kiểu trang cơ bản Sử dụng Paginator1 219 2_______221 3 223 4 225 5 227
0229
2231
4233
6Bây giờ, để sử dụng lớp 388 của chúng tôi, hãy thêm mã PHP sau vào đầu tài liệu 1
2 238 3 4 242 5
0246
2248
4250
6252
820 256 46 48 260 0 262 Tập lệnh này khá đơn giản—chúng tôi chỉ yêu cầu lớp 388 của chúng tôi. Lưu ý rằng mã này giả định rằng tệp này nằm trong cùng thư mục với chỉ mục. php—nếu không phải như vậy, bạn nên cập nhật đường dẫn cho phù hợp Sau đó, chúng tôi tạo kết nối đến cơ sở dữ liệu của mình bằng thư viện MySQLi, truy xuất các tham số của trình phân trang từ yêu cầu GET và đặt truy vấn. Vì đây không phải là bài viết về MySQL nên tôi sẽ không đi sâu vào chi tiết về kết nối hoặc truy vấn được sử dụng ở đây Cuối cùng, chúng tôi tạo đối tượng 388 và lấy kết quả cho trang hiện tại Hiển thị kết quảBây giờ, để hiển thị kết quả thu được, hãy thêm đoạn mã sau vào phần thân của bảng 1 219 2_______221 3 223 4 225 5 227
0229
2231
4233 Ở đây, chúng tôi chỉ đơn giản là lặp qua thuộc tính dữ liệu kết quả chứa các bản ghi thành phố và tạo một hàng trong bảng cho từng bản ghi Liên kết phân trangBây giờ, để hiển thị các liên kết của trình phân trang, hãy thêm đoạn mã sau vào bên dưới bảng _______280 Đối với phương pháp phân trang 393, chúng tôi chuyển tham số 394 thu được và lớp CSS cho các liên kết phân trang được sử dụng từ Bootstrap. Đây là kết quả của trang đã tạo Cách triển khai phân trang dựa trên AJAXTrong phần này, chúng ta sẽ nhanh chóng tìm hiểu cách bạn có thể chuyển đổi ví dụ phân trang PHP ở trên thành phân trang dựa trên AJAX. Chúng tôi sẽ sửa lại tất cả các tệp và thảo luận về những thay đổi mà chúng tôi sẽ cần thực hiện Đầu tiên, hãy cập nhật chỉ mục. php, như được hiển thị trong đoạn mã sau 1
712
733
754
775
79
0
2
81
4
83
6
85
8299 20 01 46 03 48 05 0 07 2 09 4 211 6 213 8 15 50 17 52 19 54 217 Trước hết, chúng tôi đã chuyển mã HTML cần thiết để xây dựng phân trang vào ajax_pagination. php để chúng tôi có thể sử dụng lại. Tiếp theo, chúng tôi đã tải thư viện jQuery và phân trang. js ở cuối tệp ajax_pagination. tệp php trông như thế này 1
2 25 3 4 29 5
032
234
436
638
820 41 46 43 48 262 0 2 48 4 50 6 221 8 54 50 56 52 58 54 60 56 231 58 64 private $_conn;0 66 private $_conn;2 68
44221
4672
4874
5076
5278
54231
5682
5884
6086
6288 Nó khá giống nhau Tiếp theo, chúng ta hãy xem phân trang. tập tin js 1 90 2 92 3 4 95 5 97
099
2301
4303
6305
8307 20 46 310 48 312 Nó làm một vài điều ở đây. Đầu tiên, nó liên kết sự kiện nhấp chuột với mọi liên kết phân trang. Tiếp theo, khi nhấp vào liên kết, nó sẽ thực hiện lệnh gọi AJAX để tìm nạp dữ liệu danh sách của trang tương ứng và cập nhật trang Cuối cùng, bạn cần cập nhật phương thức 393 như trong đoạn mã sau 1 private $_conn;7 2 class Paginator {7 3
014 45 5
0
07
2
4
11
6
13
820
1746 48
210 340 2 4
276 346 8
3150 45 52 54
3756
3958 358 private $_conn;0 45 private $_conn;2
44
47
46
31
48368
5045
52
54
57
56376
58
60
63
62
64
67
6621 Về cơ bản, chúng tôi đã thêm thuộc tính 396 vào mọi liên kết để chúng tôi có thể lấy số trang khi người dùng nhấp vào liên kết Và với những thay đổi này, bạn đã chuyển phân trang của mình thành phân trang dựa trên AJAX Phần kết luậnĐiều này sẽ cung cấp cho bạn mọi thứ bạn cần biết để thiết lập và chạy phân trang trong ứng dụng của bạn Học PHP với một khóa học trực tuyến miễn phíNếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những kiến thức cơ bản, học cách PHP hoạt động và viết các hàm và vòng lặp PHP đơn giản. Sau đó, bạn sẽ xây dựng các lớp mã hóa để lập trình hướng đối tượng đơn giản (OOP). Đồng thời, bạn sẽ học tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web. bạn sẽ có cơ hội thực hành phản hồi các yêu cầu GET và POST, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL
Bài đăng này đã được cập nhật với sự đóng góp của Sajal Soni. Sajal là người Ấn Độ và anh ấy thích dành thời gian tạo các trang web dựa trên các khung mã nguồn mở Làm cách nào để tạo phân trang đơn giản trong PHP?Các bước thực hiện để thực hiện phân trang với PHP và MySQL là. BƯỚC 1. Tạo cơ sở dữ liệu quy mô lớn. BƯỚC 2. Tạo một bảng và chèn danh sách các bản ghi trong đó. BƯỚC 3. Tạo một liên kết cho phân trang để tách biệt/phân phối dữ liệu trên một số trang khác nhau và thêm nó vào cuối bảng được tạo ở bước 2
Làm thế nào để sử dụng phân trang trong PHP với ví dụ?Triển khai phân trang bằng PHP và MySQL . Tạo cơ sở dữ liệu và bảng. Cung cấp một danh sách các bản ghi vào bảng Kết nối với cơ sở dữ liệu MySQL Tạo liên kết phân trang để phân chia dữ liệu trên nhiều trang và thêm chúng vào cuối bảng Lấy dữ liệu từ cơ sở dữ liệu và hiển thị nó trên nhiều trang Làm cách nào để tạo phân trang động trong PHP?Kết nối PHP với cơ sở dữ liệu MYSQL. Trước hết, bạn phải kết nối PHP với cơ sở dữ liệu MySQL. Sau đó bắt đầu viết mã để tạo phân trang. Tên tệp - cơ sở dữ liệu. php. . Tạo phân trang trong PHP. current_page() được khai báo để lấy số trang hiện tại. validate($value) được khai báo để xác thực số trang hiện tại Làm cách nào để lấy số trang trong phân trang trong PHP?Làm cách nào để hiển thị phân trang với trang hiện tại? |