لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
كلاس ترقيم صفحات pagination class
السلام عليكم ورحمة الله وبركاته
من فضلكم يا إخوه من لديه pagination class او يعرف واحداً جيد فليدلنى عليه
وجزاكم الله خيراً
تاريخ البداية: 8 / مارس / 2012 الساعة 9:13 اخر نشاط: 9 / مارس / 2012 الساعة 19:21 pagination
3 إجابات
salamo alikom


This class can be used to compute page links of listings split in pages.
It takes as parameters the total numbers of entries in the listing, the limit number of entries to show per page and the number of the current page.
The class may return the number of the next, previous, first and last pages.
It mar also return the entries on the current, first and last pages, and the range of pages before and after the current page.
link

The registration requirement

بواسطة: chlieh
منذ: 9 / مارس / 2012 الساعة 19:21

السلام عليكم يا إخوه قمت بتركيب كلاس ويعمل بصوره صحيحه ولكن هناك مشكلتين :-
الأولى هى الانتقال لعرض البيانات التاليه ( فهو يعرض فى اول صفحه نتيجتين وعند الضغط على رابط أى صفحه تاليه لها لا يستجيب ولا يفعل إى شىء ربما تكون المشكله من اللينك ولكن اعتقد أنه صحيح؟
المشكله الثانيه هى أن الاستعلام يجلب بيانات الجدول كلها (الصفحات كلها) وانا اريد جلب صفحات كل قسم بداخله وليس الصفحات كلها داخل كل الاقسام اعلم ان الاجابه شرط where وقد وضعته فعلا ولكن هناك أيضا فيه مشكله ربما يوضح الكود أكثر
ملحوظه صفحة العمل اسمها cat.php لعرض الموضوعات الخاصه بكل قسم بداخلها وهى التى وضعت بها كود pagination وهى كالتالى :--
  <?php error_reporting (E_ALL ^ E_NOTICE); ?>
  <?php
    include "inc/header.php";
    $gid = intval($_GET['cat_id']);

  ///////////////////////////////////////////////////////////////////////////////
  $showcat = mysql_query("SELECT * FROM cats where cat_id='".$gid."'") or die ("<center><h3>MySQL Error</h3></center>");
  $rowshowcat = mysql_fetch_object($showcat);
  // إذا لم يضع معرف للقسم
  if (!$gid) {
  echo "
    <td valign='top'>
    <h3>رسالة الموقع</h3>
    <p class='msgerror'>القسم المطلوب غير موجود !!</p>
    </td>
    ";
  // إذا وضع معرف قيمته أصغر من واحد صحيح
  }else if (mysql_num_rows($showcat) < 1) {
    echo "
    <td valign='top'>
    <h3>رسالة الموقع</h3>
    <p class='msgerror'>القسم المطلوب غير موجود !!</p>
    </td>
    ";
  // إذا تم وضع المعرف بصوره صحيحه ثم يختبر الشرط الداخلى للتحقق مما إذا كانت الصفحه متاحه أم لا
  }else if (isset($gid)) {
      if ($rowshowcat->cat_active == 1){
        $rowcatpages=mysql_query("select * from pages where cat_id =".$gid." order by page_id desc");
        $catpagesnum=mysql_num_rows($rowcatpages);
        if($catpagesnum > 0){
              echo"<td valign='top'>
              <table>
              <tr>
              <td width='15%' class='tb1'>العنوان</td>
              <td width='15%' class='tb1'>الكاتب</td>
              <td width='70%' class='tb1'>نبذه</td>
              </tr>
              ";
              $tableName="pages";
              $targetpage = "cat.php?cat_id=".$gid."";
              $limit = 2;

              $query = "SELECT COUNT(*) as num FROM $tableName ";
              $total_pages = mysql_fetch_array(mysql_query($query));
              $total_pages = $total_pages[num];

              $stages = 3;
              $page = mysql_escape_string($_GET['page']);
              if($page){
              $start = ($page - 1) * $limit;
              }else{
              $start = 0;
              }

              // Get page data
              $query1 = "SELECT * FROM $tableName where cat_id=".$gid."  LIMIT $start, $limit";
              $result = mysql_query($query1);

              // Initial page num setup
              if ($page == 0){$page = 1;}
              $prev = $page - 1;
              $next = $page + 1;
              $lastpage = ceil($total_pages/$limit);
              $LastPagem1 = $lastpage - 1;


              $paginate = '';
              if($lastpage > 1)
              {




              $paginate .= "<div class='paginate'>";
              // Previous
              if ($page > 1){
              $paginate.= "<a href='$targetpage?page=$prev'>previous</a>";
              }else{
              $paginate.= "<span class='disabled'>previous</span>";	}



              // Pages
              if ($lastpage < 7 + ($stages * 2))	// Not enough pages to breaking it up
              {
              for ($counter = 1; $counter <= $lastpage; $counter++)
              {
              if ($counter == $page){
              $paginate.= "<span class='current'>$counter</span>";
              }else{
              $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
              }
              }
              elseif($lastpage > 5 + ($stages * 2))	// Enough pages to hide a few?
              {
              // Beginning only hide later pages
              if($page < 1 + ($stages * 2))
              {
              for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
              {
              if ($counter == $page){
              $paginate.= "<span class='current'>$counter</span>";
              }else{
              $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
              }
              $paginate.= "...";
              $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
              $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
              }
              // Middle hide some front and some back
              elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
              {
              $paginate.= "<a href='$targetpage?page=1'>1</a>";
              $paginate.= "<a href='$targetpage?page=2'>2</a>";
              $paginate.= "...";
              for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
              {
              if ($counter == $page){
              $paginate.= "<span class='current'>$counter</span>";
              }else{
              $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
              }
              $paginate.= "...";
              $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
              $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
              }
              // End only hide early pages
              else
              {
              $paginate.= "<a href='$targetpage?page=1'>1</a>";
              $paginate.= "<a href='$targetpage?page=2'>2</a>";
              $paginate.= "...";
              for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
              {
              if ($counter == $page){
              $paginate.= "<span class='current'>$counter</span>";
              }else{
              $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
              }
              }
              }

              // Next
              if ($page < $counter - 1){
              $paginate.= "<a href='$targetpage?page=$next'>next</a>";
              }else{
              $paginate.= "<span class='disabled'>next</span>";
              }

              $paginate.= "</div>";


              ////////////////////////////////////////////////////////////////////////////////

              while($row = mysql_fetch_object($result))
              {

              echo"
              <tr>
              <td width='15%' class='tb1'><a href='page.php?page_id=".$row->page_id."' target='_blank'>".$row->page_name."</a></td>
              <td width='15%' class='tb2'>Osama</td>
              <td width='70%' class='tb2'>".mb_substr($row->page_content, 0, 400, "utf-8")." - <a class='readmore' href='page.php?page_id=".$row->page_id."' target='_blank'>المزيد</a></td>
              </tr>
              ";

              }

              }
              echo"</td>
              </table>
              ";
              echo"
              <table>
              <tr clspan='2'>
              <td align='center'><center>$paginate</center></td>
              </tr>
              </table>
              " ;
        } else{
            echo"
            <td valign='top'>
            <h3>رسالة الموقع</h3>
            <p class='msgerror'>هذا القسم لا يحتوى على اية مواضيع بعد !!</p>
            </td>
            ";
        }
      }else{
      echo"
      <td valign='top'>
      <h3>رسالة الموقع</h3>
      <p class='msgerror'>هذا القسم غير مفعل حالياً !!</p>
      </td>";
  }

  }
  include "inc/footer.php";

  ?>

ملحوظه خرى أنا استخدم الحقل cat_id الخاص بكل صفحه فى جدول الصفحات لتحديد الصفحات التى سيتم عرضها وذلك بمقارنة قيمة هذ الحقل بقيمة المتغير $gid الذى يجلب معرف القسم الحالى ؟
أعتذر عن الإطاله
وجزاكم الله خيرا

بواسطة:
منذ: 9 / مارس / 2012 الساعة 15:28

بواسطة: MacOS
منذ: 8 / مارس / 2012 الساعة 18:42

لم أره من قبل التطبيق جيد ولكن الشرح يحتاج لتفصيل وتوضيح لذلك لم أستطع الاستفاده منه !!!!!!!!!
حبذا لو تكرمتم بتوضيح خطوات العمل بصوره أكثر تفصيلا؟
8 / مارس / 2012 الساعة 20:20

أخي مصعب الرابط اكثر من رائع اللي وضعه MacOS انت طبق وجرب والنقطة اللي توقف عندها حط سؤالك فيها وراح يجيبوك الاخوان او اي شخص يعرف مايقصروا اهم شيء تبدأ .
9 / مارس / 2012 الساعة 7:14

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة