اذهب إلى المحتوى
  • 0

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

علي أحمد-2

السؤال

السلام عليكم،
لدي موقع بسيط مبرمج بالــ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

 

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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

السلام عليكم

اعتقد ان هذه المكتبة ستساعدك في انك ستظهر ارقام الصفحات الاولى ثم نقاط و يظهر لك العدد الاخير.

http://flaviusmatis.github.io/simplePagination.js/

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 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
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...