• 0

كيفية تحديد عدد أرقام الصفحات في ترقيم الصفحات؟ [PHP]

السلام عليكم،
لدي موقع بسيط مبرمج بالــPHP، به مقالات .. وفيه نظام الـ( pagination ) ترقيم الصفحات، ولكن المشكلة الموجودة لدي أنه عندما تكثر عدد الحقول في قاعدة البيانات يصبح عدد (الترقيم في الصفحة) كبير جدًا بِـحُـكم أن عدد الحقول كثيرة جداً، ويوجد حل غير عملي لتقليل عدد الأرقام الخاصة بالترقيم وهي جعل كل صفحة تعرض كمية كبيرة من الحقول لتقليل عدد أرقام الصفحة، ولكنه حل غير  عملي كما أشرت.
لذلك ما هي الطريقة التي تصلح لطباعة أرقام الصفحات مثلاً (  1 - 2 - 3 - 4 - 5 - ...  - 20  ) بإفتراض أن الصفحة 20 هي آخر صفحة، وعندما يضغط المستخدم على ... يتم عرض الخمس أرقام التالية ، وهكذا دواليك إلى آخر صفحة.
أعتقد نظام الترقيم هنا في أكادمية حسوب أقرب مثال لما أطمح له.
هذا الكود الذي أستعمله لعرض الترقيم حالياً:
 

<?php

	$next = $page + 1;
    $prev = $page - 1;
    echo 
      '<div class="center">
         <ul class="pagination">';
    if($prev > 0){echo '<li><a href="?page='.$prev.'">«</a></li>';}
    for ($p = 1; $p <= $pages; $p++) {
      if($page == $p) { echo 
        '<li><a href="" class="active">'.$page.'</a></li>';
                      } else { echo 
        '<li><a href="?page='.$p.'">'.$p.'</a></li>';
                             }
    }
    if($next <= $pages){echo '<li><a href="?page='.$next.'">»</a></li>';}
    echo '
       </ul>
     </div>';

?>


وشكل ترقيم الصفحات كالتالي:
pic.png

 

لأن الأرقام كثيرة يتم عرضها بهذا الشكل ، وأنا أريد تقليل هذا العدد .

أرجو ان الفكرة وضحت، وشكراً على تقديم المساعدة ..

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

السلام عليكم

$view_number = 10;//عدد الصفحات المراد ظهورها
for ($p = 1; $p <= $pages; $p++)
{
  $view_number --;
  if($view_number > 0) {                      
  if($page == $p) { echo 
        '<li><a href="" class="active">'.$page.'</a></li>';
   }
   else { echo 
        '<li><a href="?page='.$p.'">'.$p.'</a></li>';
   }
  }
}

 

تمّ تعديل بواسطة abdoroot

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن