كلاس ترقيم صفحات pagination class
السلام عليكم ورحمة الله وبركاته
من فضلكم يا إخوه من لديه pagination class او يعرف واحداً جيد فليدلنى عليه وجزاكم الله خيراً
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 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
السلام عليكم يا إخوه قمت بتركيب كلاس ويعمل بصوره صحيحه ولكن هناك مشكلتين :-
الأولى هى الانتقال لعرض البيانات التاليه ( فهو يعرض فى اول صفحه نتيجتين وعند الضغط على رابط أى صفحه تاليه لها لا يستجيب ولا يفعل إى شىء ربما تكون المشكله من اللينك ولكن اعتقد أنه صحيح؟ المشكله الثانيه هى أن الاستعلام يجلب بيانات الجدول كلها (الصفحات كلها) وانا اريد جلب صفحات كل قسم بداخله وليس الصفحات كلها داخل كل الاقسام اعلم ان الاجابه شرط 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 الذى يجلب معرف القسم الحالى ؟ أعتذر عن الإطاله وجزاكم الله خيرا 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
هل رأيت هذا الدرس؟ "تعدد الصفحات لعرض وتحديد النتائج"
بواسطة: MacOS 2 من 2 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا لم أره من قبل التطبيق جيد ولكن الشرح يحتاج لتفصيل وتوضيح لذلك لم أستطع الاستفاده منه !!!!!!!!! أخي مصعب الرابط اكثر من رائع اللي وضعه MacOS انت طبق وجرب والنقطة اللي توقف عندها حط سؤالك فيها وراح يجيبوك الاخوان او اي شخص يعرف مايقصروا اهم شيء تبدأ . |