Saya melihat kode Anda di jawaban lain, dan saya akan merekomendasikan menggunakan fungsi LIMIT di MySql alih-alih mengimbangi nilainya. Contoh:
SELECT * FROM all_posts ORDER BY post_id DESC LIMIT '".(((int)$page)*5)."',5
Ini hanya akan mengambil nomor halaman dalam permintaan AJAX dan mendapatkan offset secara otomatis. Ini adalah kueri yang konsisten, dan bekerja secara independen dari hasil terakhir pada halaman. Kirim sesuatu seperti page=1 atau page=2 dalam kode jQuery Anda. Ini dapat dilakukan dengan beberapa cara berbeda.
Pertama, hitung jumlah elemen yang dibangun pada halaman dan bagi dengan jumlah pada halaman. Ini akan menghasilkan nomor halaman.
Kedua, Anda dapat menggunakan jQuery dan mengikat nomor halaman saat ini ke badan:
$(body).data('page', 1)
Tingkatkan satu setiap pemuatan halaman.
Melakukan ini benar-benar cara yang lebih baik, karena menggunakan satu kueri untuk semua operasi, dan tidak memerlukan banyak informasi tentang data yang sudah ada di halaman.
Satu-satunya hal yang perlu diperhatikan adalah bahwa logika ini mengharuskan permintaan halaman pertama menjadi 0, bukan 1. Ini karena 1*5 akan dievaluasi menjadi 5, melewatkan 5 baris pertama. Jika 0, ia akan mengevaluasi ke 0*5 dan melewatkan 0 baris pertama (karena 0*5 adalah 0).
Beri tahu saya pertanyaan apa pun yang Anda miliki!