كائن تعدد الصفحات المتقدم
سبق أن طرح الأخ رفيع قبل مدة قصيرة كائناً لتعدد الصفحات، وحيث إن كائني يختلف فقد عرضته هنا لكي يستفيد منه الآخرون، وليس قصدي في هذا الطعن في الأخ رفيع وقدرته البرمجية، فهو أكفأ مني بشهادة برامجه المتميزة.
وإنما ليتعرض القراء على اختلاف المبرمجين.
مميزات هذا الكائن :
أولا :
أنه لا يظهر في الرابط سوى رقم الصفحة Page=1 وهلم جرا، عكس كثير من الكائنات التي تتطلب وضع بداية المدى
ونهايته على شاكلة :
start=10&offset=20&page=1
لكن في هذا الكائن لا يظهر سوى رقم الصفحة ، وإذا كانت الصفحة هي الأولى فلا يظهر المتغير السابق
ثانيا :
أن الاستعلام من قاعدة البيانات خارج هذا الكائن، ولهذا لا تحتاج إلى تعديل أسماء الجداول والحقول.
ثالثا :
سهولة الاستخدام، فهو خالٍ من التعقيد للمستخدم
رابعا :
الخيارات المتعددة المتاحة ؛ حيث يمكنك استخدام هذا الكائن في برنامج واحد بصورة متعددة، بحيث تضع لكل صفحة
خياراتها الخاصة ، وهذه الخيارات
1) اختيار طباعة جملة : عرض النتائج من (1) إلى (5) من إجمالي (20)
2) اختيار طباعة كلمتي : الأولى .... الأخيرة
3) اختيار طباعة : عدد الصفحات (40)
4) اختيار طباعة : الصفحة السابقة ... الصفحة التالية
5) تحديد عدد الصفحات المعروضة
6) اختيار بطباعة مدى النتائج نحو ( 1-10 ) (11-20 )
انتهت المميزات
طريقة الاستخدام :
1) إدراج الكائن المرافق في الملف الأساس لبرنامجك، على سبيل المثال : main.php
2) إنشاء الكائن عن طريق أمر
كود PHP:
$NP =new NextPrevPage;
3) عليك تحديد مدى العرض : LIMIT مثلا :
4) الاستعلام الأول من قاعدة البيانات، لتحديد عدد النتائج، على سبيل المثال
كود:
SELECT * FROM YOURTABLE
WHERE id = '$id'
حيث YOURTABLE هو اسم الجدول
و id هو الرقم المراد جلب عدد نتائجه
5) اجعل دالة تحديد عدد النتائج باسم
على سبيل المثال :
كود PHP:
$result = mysql_query($query);
$totalRecords = mysql_num_rows($result);
6) أدرج هذه الأوامر :
كود PHP:
$page= $NP->CheckPage($page);
$sql= $NP->SQLlimit($page,$C_limit);
$SQL_limit= $sql['SQL_LIMIT'];
$r=$sql['ROW'];
7) في الاستعلام الثاني لجلب متغيرات الحقول من قاعدة البيانات استخدم المتغير
على سبيل المثال
كود PHP:
SELECT PM_opening_verse ,PM_nu_verse
FROM ".$prefix."_e4po_poemes
WHERE PM_poet_id ='21'
ORDER BY BINARY PM_opening_verse
limit $SQL_limit
8) في أثناء تكرار الحلقة المتغير
يشير إلى الرقم التسلسلي ، ولهذا تضع هذا السطر داخل حلقة التكرار :
ثم تضع المتغير السابق في خانة الرقم التسلسلي
9) بعد انتهاء حلقة التكرار ، حدد المتغير التالي بالمتغيرات التي يحتوي عليها الرابط
على سبيل المثال :
كود PHP:
$action="&name=me&order=A&linke=$link";
10) ضع الأمر التالي
كود PHP:
$printnextprev= $NP->SHOW ("S1-F1-P1-R1-
4-T1",$page,$totalRecords,$C_limit,$action);
لطباعة تعدد الصفحات، والخيارات هي كما يلي :
// S1-S0 * واحد = طباعة / صفر = لا شيء
#لطباعة : عرض الصفحات من (1) إلى (10) من إجمالي (100)
//F1- F0 * واحد = طباعة / صفر = لا شيء
# لطباعة : الصفحة الأولى ... الصفحة الأخيرة
//P1-P0
# لطباعة عدد الصفحات
//R1-R0
# لطباعة : الصفحة السابقة - الصفحة التالية
// N: عدد الصفحات المعروضة
//T1=
# طباعة أرقام النتائج بين قوسين نحو
# (1-10) (11-20)
تطبيق لهذا الكائن بالخيارات المتعددة
http://www.toarab.ws/scripts/NextPrevPages.php
كتبه الفقير إلى عفو ربه :
عبد الرحمن بن ناصر السعيد
صاحب موقع الشنكبوتية
http://www.toarab.ws
الكائن
يتضمن الملف المضغوط المرافق ملفين :
الأول : للكائن
الثاني : تطبيق كامل، وهو ملف الصفحة المعروضة هنا للتطبيق
##########################################################
# #
# كائن تعدد الصفحات #
# #
# برمجة : عبد الرحمن بن ناصر السعيد #
# صاحب موقع الشنكبوتية #
# http://www.toarab.ws #
# الإصدار الأول #
# ababab90@yahoo.com #
# فضلاً : هذا العمل استغرق الكثير من الوقت والجهد #
# فلا تستخدمه في معصية من خلقك! #
# ولا تحذف هذه الحقوق، والحساب يوم الحساب! #
##########################################################
# #
# تـــــحـــــــذيـــــر #
# لا يسمح باستخدام هذا الكائن في البرامج التجارية #
# إلا بعد تفاهم مع المبرمج #
##########################################################