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

phân trang pagination-components php-pagination bootstrap-pager

  • Cập nhật23/10/2020
  • PHP

rendy-ananda / php-mysql-phân trang

Sao 2

  • Mã số
  • Vấn đề
  • Yêu cầu kéo

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

  • Cập nhật ngày 21 tháng 8 năm 2019
  • PHP

benhall14 / phân trang php

Sao 2

  • Mã số
  • Vấn đề
  • Yêu cầu kéo

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

  • Cập nhật ngày 7 tháng 8 năm 2019
  • PHP

mustafadalga / Phân trang PHP

Sao 1

  • Mã số
  • Vấn đề
  • Yêu cầu kéo

PHP ile Sayfalama Yapımı

phân trang php php7 phân trang php

  • Cập nhật 24/12/2019
  • PHP

julekgwa / php_paginator

Sao 1

  • Mã số
  • Vấn đề
  • Yêu cầu kéo

Phân trang PHP và MySQL

phân trang php-phân trang mysql-php-phân trang

  • Cập nhật ngày 9 tháng 5 năm 2017
  • PHP

Modularr / Linh hoạt-PHP-Phân trang

Sao 1

  • Mã số
  • Vấn đề
  • Yêu cầu kéo
  • thảo luận

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

  • Cập nhật12/12/2022
  • PHP

teodoroleckie/người đánh số trang

Nhà tài trợ

Sao 0

  • Mã số
  • Vấn đề
  • Yêu cầu kéo

⚡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

  • Cập nhậtNgày 11 tháng 5 năm 2021
  • PHP

gautham1995 / phân trang

Sao 0

  • Mã số
  • Vấn đề
  • Yêu cầu kéo

phân trang trong php

phân trang php-phân trang

  • Cập nhật 30 tháng 9, 2017
  • PHP

coyote333666 / ppm

Sao 0

  • Mã số
  • Vấn đề
  • Yêu cầu kéo
  • thảo luận

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

Phân trang PHP không có SQL
Phân trang PHP không có SQL
Phân trang PHP không có SQL

1. Phân trang

Phâ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

Phân trang PHP không có SQL
Phân trang PHP không có SQL
Phân trang PHP không có SQL

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ệu

Phả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

Phân trang PHP không có SQL

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

Phân trang PHP không có SQL
Phân trang PHP không có SQL
Phân trang PHP không có SQL

Đẹp, phải không? . Có thật không

3. Trình đánh số trang

Ví 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. php

Lớ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

8
 
2
0
2
1

Đị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
2
7
4
2
9
5
 
1

0
 
3

2
 

4
 
7

6
 
9

8
2
9
2
0
2
1

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
3
7
3
2
9
4
class Paginator {
1
5
class Paginator {
3

0
 

2
class Paginator {
7

4
class Paginator {
9

6
4
1

8
4
3
2
0
4
5
4
6
4
7
4
8
 
 
0
 
1
 
2
 
3
 
4
4
5
 
6
 
 
8
 
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
 
     private $_conn;
0
     private $_conn;
1
     private $_conn;
2
2
1

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ữ

3
87 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 trang

Bâ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

01
5
4
5

0
 

2

07

4
 

6

11

8

13
2
0
 
4
6

17
4
8
 
 
0

21
 
2

23
 
4
 
 
6

27
 
8

29
5
0

31
5
2
4
5
5
4
 
5
6

37
5
8

39
     private $_conn;
0

41
     private $_conn;
2
4
5

44
 

46

47

48

31

50

51

52
4
5

54
 

56

57

58

59

60
 

62

63

64
 

66

67

68
2
1

Đâ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

3
88. 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ục

Bây giờ chúng ta sẽ tạo chỉ mục. php, chịu trách nhiệm sử dụng lớp

3
88 và hiển thị dữ liệu. Trước tiên, hãy để tôi chỉ cho bạn HTML cơ bản

1

71
2

73
3

75
4

77
5

79

0

81

2

83

4

85

6

87

8

89
2
0

91
4
6

93
4
8

95
 
0

97
 
2

99
 
4
2
01
 
6
2
03
 
8
2
05
5
0
2
07
5
2
2
09
5
4
2
11
5
6
2
13
5
8
2
15
     private $_conn;
0
2
17

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 Paginator

1
2
19
2
_______221
3
2
23
4
2
25
5
2
27

0
2
29

2
2
31

4
2
33

6

Bây giờ, để sử dụng lớp

3
88 của chúng tôi, hãy thêm mã PHP sau vào đầu tài liệu

1

2
2
38
3
 
4
2
42
5
 

0
2
46

2
2
48

4
2
50

6
2
52

8
 
2
0
2
56
4
6
 
4
8
2
60
 
0
2
62

Tập lệnh này khá đơn giản—chúng tôi chỉ yêu cầu lớp

3
88 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

3
88 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
2
19
2
_______221
3
2
23
4
2
25
5
2
27

0
2
29

2
2
31

4
2
33

Ở đâ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 trang

Bâ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

3
93, chúng tôi chuyển tham số
3
94 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

Phân trang PHP không có SQL
Phân trang PHP không có SQL
Phân trang PHP không có SQL

Cách triển khai phân trang dựa trên AJAX

Trong 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

71
2

73
3

75
4

77
5

79

0

2

81

4

83

6

85

8
2
99
2
0
 
01
4
6
 
03
4
8
 
05
 
0
 
07
 
2
 
09
 
4
2
11
 
6
2
13
 
8
 
15
5
0
 
17
5
2
 
19
5
4
2
17

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

0
 
32

2
 
34

4
 
36

6
 
38

8
2
0
 
41
4
6
 
43
4
8
2
62
 
0
 
2
 
48
 
4
 
50
 
6
2
21
 
8
 
54
5
0
 
56
5
2
 
58
5
4
 
60
5
6
2
31
5
8
 
64
     private $_conn;
0
 
66
     private $_conn;
2
 
68

44
2
21

46
 
72

48
 
74

50
 
76

52
 
78

54
2
31

56
 
82

58
 
84

60
 
86

62
 
88

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

0
 
99

2
3
01

4
3
03

6
3
05

8
3
07
2
0
4
6
3
10
4
8
3
12

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

3
93 như trong đoạn mã sau

1
     private $_conn;
7
2
class Paginator {
7
3

01
4
4
5
5
 

0

07

2
 

4

11

6

13

8
 
2
0

17
4
6
 
4
8

21
 
0
3
40
 
2
 
 
4

27
 
6
3
46
 
8

31
5
0
4
5
5
2
 
5
4

37
5
6

39
5
8
3
58
     private $_conn;
0
4
5
     private $_conn;
2
 

44

47

46

31

48
3
68

50
4
5

52
 

54

57

56
3
76

58
 

60

63

62
 

64

67

66
2
1

Về cơ bản, chúng tôi đã thêm thuộc tính

3
96 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

Phân trang PHP không có SQL

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

  • Phân trang PHP không có SQL
    Phân trang PHP không có SQL
    Phân trang PHP không có SQL

    Nguyên tắc cơ bản PHP

    Phân trang PHP không có SQL
    Phân trang PHP không có SQL
    Phân trang PHP không có SQL

    Jeremy McPeak

    29 Thg 10 2021

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?