Vi su código en otra respuesta, y recomendaría usar la funcionalidad LIMIT en MySql en lugar de compensar los valores. Ejemplo:
SELECT * FROM all_posts ORDER BY post_id DESC LIMIT '".(((int)$page)*5)."',5
Esto solo tomará un número de página en la solicitud AJAX y obtendrá la compensación automáticamente. Es una consulta coherente y funciona independientemente de los últimos resultados de la página. Envía algo como página=1 o página=2 en tu código jQuery. Esto se puede hacer de dos maneras diferentes.
Primero, cuente el número de elementos construidos en la página y divídalo por el número en la página. Esto producirá un número de página.
En segundo lugar, puede usar jQuery y vincular el número de página actual al cuerpo:
$(body).data('page', 1)
Increméntalo en uno cada vez que cargues una página.
Hacer esto es realmente la mejor manera de hacerlo, porque usa una consulta para todas las operaciones y no requiere mucha información sobre los datos que ya están en la página.
Lo único a tener en cuenta es que esta lógica requiere que la solicitud de la primera página sea 0, no 1. Esto se debe a que 1*5 se evaluará como 5, omitiendo las primeras 5 filas. Si es 0, se evaluará como 0*5 y omitirá las primeras 0 filas (ya que 0*5 es 0).
¡Avísame cualquier duda que tengas!