الخميس، 14 فبراير 2019

الفكرة البرمجية تعدد الصفحات php pagination


هذه الفكرة البرمجية جد مهمة للمواقع ولا يمكن لأي موقع الإستغناء عليها،لكن لماذا؟
لماذا هذه الفكرة جد مهمة لمواقعنا ؟
--- لولا هذه الفكرة لكانت الصفحة التي سوف تطبع بيانات المواقع المضافة طويلة جدا،وبالتالي يصعب على الزائر قرائة الصفحة،
كيف يمكن برمجتها؟
لقد استخدمت الدالة
array_slice($array,$start,$limit )
شرح بارامترات الدالة
- array تمثل المصفوفة التي تحمل البيانات،
- start مفتاح القيمة التي تعتبر نقطة البداية ،
- limit عدد القيم التي نريد استعمالها أو استخراجها،
مثلا
start = 10 و limit = 5
هذا يعني أن مصفوفتنا بها الآن 5 قيم ،وتبتدأ من المفتاح 10 وتنتهي في المفتاح 14،
لاحظ الكود التالي
  $cats = glob('mdls/dalil/sites/'.$GLOBALS["dalilurl"]["second"].'/*.json');
  
  $this->nlinks = count($cats);
قمنا الآن بحساب عدد البيانت الموجودة في المصفوفة
لاحظ الكود التالي

  if(isset($_GET['page'])){
  $this->npage= intval($_GET['page']);   
  }else{$this->npage=1;}
  وضعت هنا شرط  للتأكد إن كان المتغير الخاص الممتاز فارغ أم به قيمة
$_GET['page']
 وإن كان فارغا فرقم الصفحة يساوي 1
$this->npage=1

الآن سوف نتعرف على بعض المعادلات الرياضية والتي لابد منها لإتمام الأمر
وفي المثال التالي عملية حسابية لتحديد مفتاح البداية
  if($this->npage == 1){
      $this->start = 0;
}else{
$this->start = $this->npage*$this->limit;
$this->start = $this->start-$this->limit;
}
ولمعرفة مجموع الصفحات استعملت العملية التالية
$this->pages=ceil($this->nlinks/$this->limit);

الآن لدينا جميع المتغيرات التي نحتاجها لبدأ برمجة فكرة تعدد الصفحات

إليكم الآن الكود الكامل الذي برمجته،هذه الدالة تقوم بطباعة البيانات وكذلك بتخزين البيانات التي سوف نحتاجها في دالة طباعة الصفحات


وإليكم الآن دالة طباعة الصفحات



التطويرات المستقبلية
- تقوم دالة طباعة الصفحات بطباعة جميع الصفحات ،يجب تحديد عدد معين من الصفحات

تم التطوير

لمعرفة المزيد من الأفكار البرمجية قم بزيارة التدوينة التالية

ليست هناك تعليقات:

إرسال تعليق