मैंने आपका कोड किसी अन्य उत्तर में देखा है, और मैं मूल्यों को ऑफसेट करने के बजाय MySQL में LIMIT कार्यक्षमता का उपयोग करने की अनुशंसा करता हूं। उदाहरण:
SELECT * FROM all_posts ORDER BY post_id DESC LIMIT '".(((int)$page)*5)."',5
यह केवल AJAX अनुरोध में एक पृष्ठ संख्या लेगा और ऑफ़सेट स्वचालित रूप से प्राप्त करेगा। यह एक सुसंगत क्वेरी है, और पृष्ठ पर अंतिम परिणामों से स्वतंत्र रूप से काम करती है। अपने jQuery कोड में पेज =1 या पेज =2 जैसा कुछ भेजें। यह दो अलग-अलग तरीकों से किया जा सकता है।
सबसे पहले, पृष्ठ पर निर्मित तत्वों की संख्या गिनें और पृष्ठ पर संख्या से विभाजित करें। इससे एक पेज नंबर मिलेगा।
दूसरा, आप jQuery का उपयोग कर सकते हैं और वर्तमान पृष्ठ संख्या को मुख्य भाग से बाँध सकते हैं:
$(body).data('page', 1)
प्रत्येक पृष्ठ लोड में इसे एक-एक करके बढ़ाएं।
ऐसा करना वास्तव में जाने का बेहतर तरीका है, क्योंकि यह सभी कार्यों के लिए एक क्वेरी का उपयोग करता है, और इसके लिए पृष्ठ पर पहले से मौजूद डेटा के बारे में पूरी जानकारी की आवश्यकता नहीं होती है।
केवल ध्यान देने वाली बात यह है कि इस तर्क के लिए प्रथम पृष्ठ अनुरोध 0 होना चाहिए, 1 नहीं। ऐसा इसलिए है क्योंकि 1*5 पहली 5 पंक्तियों को छोड़ कर 5 का मूल्यांकन करेगा। यदि इसका 0 है, तो यह 0*5 का मूल्यांकन करेगा और पहली 0 पंक्तियों को छोड़ देगा (चूंकि 0*5 0 है)।
अपने कोई भी प्रश्न मुझे बताएं!