اخوة الاعزاء اقدم لكه هذا الصنف البسيط للعمل مع تعدد الصفحات
وارجو من الله ان يكون قد حل كثير من المشاكل بسببها
الكود بسيط وينكن التعديل عليه
لاحتاج الكود الى بارمترات كثير يعمل مشتقل في اي مجال تعددي
وان مستخدم في اسلوب عرض الملفات في المجلدات
لايحتاج الى بامتر النهاية فقط بارمتر واحد يقوم هو بارساله مع امكانية تغيره بسهوله
وبرمجته غير معقدة هذا خلاصة مااستطعت من التقليل من الكود واعتقد وبرايي الخاص هذا اصغر كلاسس تعدد الصفحات وارجو من الله ان يكون ذو فائدة لم اطرحه الا بعد استخدامه على اكثر من 6 مواقع الكترونية والله ولي التوفيق
شرح لاسلوب الاستخدام
اسم الصنف Pager_Class
اولا يجب تضمين ملف الصنف
ثانيا في بداية الصفحةوقبل الاستعلام يتم استخدام التالي
كود PHP:
                      ISset($_GET['page'])  ?        $Pgae_Numbr=intval($_GET['page'])  :    $Pgae_Numbr=0
$Pgae_Numbr        <=0      ?        $Pgae_Numbr=0               :    $Pgae_Numbr=intval($_GET['page']); 
حيث ان الكلاسس يرسل 'page' المتغير للحصول على القيمة التي وصل اليها

طبعا في نص استعلامك يجب ان يكون مشابه للاتي

كود PHP:
                           $Qury=$DB_CLASS->MC_Query_String("SELECT `id`,`body` FROM `news` ORDER BY `id` DESC LIMIT $Pgae_Numbr,10"); 


حيث ان $Pgae_Numbr هو المتغير الذي يحمل عدد الصفحات التي وصلنا اليه
والعدد العرض الافتراضي هو 10
نقوم بالخطة اتالية لتشغيل الصنف
طبعا الصنف ياخذ عددد فقط اي يجب عليك وضع استعلام لعدد الصفوف واسناده الى الصنف
في هذا المثال استخدمت المتغير $Num
كود PHP:
                          require_once('classs/Pager.Class.php');#تضمين النصف 
    
$Num=1000;#استبدله بقيمة استعلام عدد الصفوف 
    #اي استعلام كاتالي $Value_Where="SELECT COUNT($ID) FROM `$Table`" 
     
    
$Count_Page=new Pager_Class();#انشاء مثيل للصنف 
     
$Count_Page->PGC_Compiler($Num,true);#دالة تجميع المعلومات وتاذخ بامترين 
     #الاول هو العدد المراد تقسيمة اي المتغير $Num 
     #البارمتر الثاني اذا ارت ان تقوم بالطباعة مباشرة استخدم 
     ##true 
     #اما اذا اردت ان يعيد لك الناتج فاستخدم false 
    
$Count_Page->__destruct();#دالة تجميع وحذف المتغيرات من الاذكرة 
هذا الكود يقوم باعملية طبعا اذا اردت كمابينت سابقا بدل طباعة القيمة مباشرة اعادة القيمة تستخدم

كود PHP:
$pager=$Count_Page->PGC_Compiler($Num,false); 
وبذلك يصبح لدينا المتغير $pager يحمل النتيجة
طبعا فيه اسئلة ماذا لواردت ان اغير عدد العرض من الافتراضي 10 الى قيمة الاخرى
او يجب الانتباه الى نص الاستعلام في كودنا السابق وهو


كود PHP:
                           $Qury=$DB_CLASS->MC_Query_String("SELECT `id`,`body` FROM `news` ORDER BY `id` DESC LIMIT $Pgae_Numbr,10"); 


واستبدال القيمة 10 بقيمة مناسبة
ثانيا اضافة النص البرمجي الى الكلاسس وهو

كود PHP:
                      $Count_Page->v_Limit=7
وتغير القيمة بحسب عدد الاستعلام كي يتناسب اسلوب العرض مع الاستعلام
فيصبح كاتالي


كود PHP:
require_once('classs/Pager.Class.php');#تضمين النصف 
    
$Num=1000;#استبدله بقيمة استعلام عدد الصفوف     
    
$Count_Page=new Pager_Class(); 
    
$Count_Page->v_Limit=7;#هذا المتغير المؤول عن العدد 
    #يجب الانتباه الى مكانه قبل الدالة  
    #PGC_Compiler  لانها هي تعد الكمبلير 
    
$Count_Page->PGC_Compiler($Num,true); 
    
$Count_Page->__destruct(); 
كيفية تغير ة االكشن انا لدي اكشن سابق وسيتم ادارج اكشن جديد في المستعرض فهذا يسبب خلل
الحل كاتالي
الافتراض في الكلاسس وهو اتالي
?
فلتغيره يتم استخدام
مثال

كود PHP:
$Count_Page->v_Link="?f=$_GET[f]&";#هي المسؤلة عن االكشن 
فيصبح الكود كاتالي

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


كود PHP:
                      require_once('classs/Pager.Class.php');#تضمين النصف 
$Num=1000;#استبدله بقيمة استعلام عدد الصفوف 
$Count_Page=new Pager_Class(); 
$Count_Page->v_Link="?f=$_GET[f]&";#هي المسؤلة عن االكشن 
$Count_Page->PGC_Compiler($Num,true); 
$Count_Page->__destruct(); 
طبعا ضمن الكلاسس ستجد انه مفصل حتى لتغير الكلامات م التالي والسابق كلها متغيرات عامة
وحتى المتغر page
اي تحكم مطلق باتعدد الصفحات
مثال كامل عن عرض الصفحات لاحد المواقع المرمجة سابقا

كود PHP:
ISset($_GET['page'])  ?        $Pgae_Numbr=intval($_GET['page'])  :    $Pgae_Numbr=0


$Qury=$DB_CLASS->MC_Query_String("SELECT `id`,`subject`,`body` FROM `news` ORDER BY `id` DESC LIMIT $Pgae_Numbr,7"); 
$News=array(); 
while (
$Row=$DB_CLASS->MC_FetchRow($Qury)) : 
$News[]=$Row
endwhile; 


$DB_CLASS->MC_Free_Result($Qury); 

require_once(
'classs/Pager.Class.php'); 
$Num=$DB_CLASS->MC_Count_Recorder('news','id');#عدد الحقول 
$Count_Page=new Pager_Class(); 
$Count_Page->v_Limit=7
$Count_Page->PGC_Compiler($Num,true); 
$Count_Page->__destruct(); 

$DB_CLASS->MC_Close(); 
ولمعرفة المزيد يرجى الاطلاع على الصنف نفسه
وللاسئلة يرجى ادارجها والله ولي التوفيق \
وارجو من الله ان اكون قد اديت الي عليا والله خير الشاهدين