يجب أن يقال إنه إذا تعلمت كيفية إدراج السجلات وعرض السجلات ، فإن نظام المقالات البسيط والكامل ونظام الأخبار ونظام الرسائل ليسوا مشكلة الآن. ثم السؤال التالي هو: مع زيادة محتوى المعلومات في الأجزاء ، ليس من المقبول عرض جميع المعلومات من خلال صفحة وحدها. لذلك ، فإن الحل هو استخدام تكنولوجيا الترحيل.
1 ، Rs.RecordCount
من الواضح ، يتم استخدام RecordCount لعرض عدد السجلات الموجودة في جدول قاعدة البيانات ، ويمكن أن يصف بوضوح عدد الصفوف الموجودة في الجدول. غالبًا ما يتم استخدامه في ترقيم الصفحات لعرض ما مجموعه مقالات N وغيرها من المعلومات.
2. rs.pagesize
Rs.Pagesize هو حجم الصفحة ، مما يعني أنه يمكن لصفحة ASP عرض عدد السجلات. يتم تعريف القيم من قبل نفسك ، مثل معلومات مثل مقالات N المعروضة في كل صفحة تراها غالبًا.
3. Rs.absolutePage و Rs.PageCount
عندما يتعلق الأمر بترقيم الصفحات ، يجب ألا تذكر rs.absolutepage. تتمثل الوظيفة الرئيسية للخاصية المطلقة لمجموعة السجلات في تحديد الصفحة التي يتم عرضها حاليًا. تستند قيمتها على. إذا تم تحديد rs.pagesize ، فإن قيمة المعلومات لـ Rs.PageCount هي النتيجة المقسمة لـ Rs.RecordCount و Rs.Pagesize. على سبيل المثال: يحتوي سجل المعلومات الكلي على Rs.RecordCount على 20 عنصرًا ، ويتم تعيين عدد العناصر المعروضة لكل صفحة على 5 عناصر. ثم عدد الصفحات Rs.PageCount هو 20/5 = 4 صفحات ، في حين أن Rs.absolutePage يمكن أن تكون فقط الصفحة 1 ، الصفحة 2 ... الصفحة 4.
الحديث الآن ، سنجد برنامجًا محددًا للتصحيح. استمر في تعديل showit.asp على النحو التالي:
<!-#تضمين ملف = "conn.asp"-> <٪ SET RS = Server.createObject ("ADODB.RecordSet") SQL = "SELECT * من ترتيب الجسيمات بواسطة CN_ID DESC" Rs.Open SQL ، Conn ، 1،1 ٪> <٪ page = request.querystring ("page") 'قيمة الصفحة هي القيمة المقبولة rs.pagesize = 2 'عدد السجلات المعروضة لكل صفحة rs.absolutepage = صفحة "إظهار أن الصفحة الحالية تساوي عدد الصفحات المستلمة ٪> <٪ بالنسبة إلى i = 1 to rs.pagesize "استخدام الحلقة التالية لقراءة سجل الصفحة الحالية بالتسلسل إذا rs.eof ثم الخروج ل إنهاء إذا Response.write ("<br> محتوى المقالة هو:" & rs ("CN_CONTENT"))) Rs.Movenext التالي ٪> <٪ Rs.close تعيين روبية = لا شيء conn.close تعيين conn = لا شيء ٪> |
هنا ، فإن فرضية تصحيح الأخطاء الخاص بك هي أن السجلات الموجودة في قاعدة البيانات يجب أن تكون أكبر نسبيًا من 4 ، بحيث يكون تأثير الاختبار واضحًا ؛ طريقة الاختبار هي إضافة الصفحة = 1 أو؟ الصفحة = 2 وتصحيح الأخطاء الأخرى لمراقبة تأثير عرض صفحة الويب بعد showit.asp.
في الواقع ، بعد كل شيء ، عرض محتوى قاعدة البيانات
<٪ لأني = 1 إلى rs.pagesize إذا rs.eof ثم الخروج ل إنهاء إذا Response.write ("<br> محتوى المقالة هو:" & rs ("CN_CONTENT"))) Rs.Movenext التالي ٪> |
يتم تشغيل الوظيفة ، ولكن تخيل: يجب أن يعرض البرنامج فقط قطعتين من المعلومات (2 قطعة من المعلومات التي تبقى دون تغيير). ولكن لماذا إضافة؟ الصفحة = 1 و؟ الصفحة = 2 تظهر نتائج مختلفة؟ ... هذه هي بالتأكيد وظيفة rs.absolutepage. أنا أفهم هذا بوضوح ، أعتقد أن الهندسة المعمارية العامة للترقيم لها أمر مربك بعض الشيء.