منتديات الجلفة لكل الجزائريين و العرب - عرض مشاركة واحدة - دالة pagination و كيفية إستخدامها
عرض مشاركة واحدة
قديم 2012-06-08, 08:04   رقم المشاركة : 1
معلومات العضو
الأخ ياسين
مشرف منتديات التعليم المتوسط
 
الصورة الرمزية الأخ ياسين
 

 

 
إحصائية العضو










افتراضي دالة pagination و كيفية إستخدامها

بسم الله الرحمان الرحيم


إن برمجة أي سكريبت طبعا لا تكون بدون دالة الباجينيشن

ماهي الباجينيشن ؟


الباجينيشن مجموعة من الدوال التي تسمح بعمل تعدد في الصفحات حسب إرادتك
وهي مهمة لتقسيم محتويات الأقسام و التعليقات


الكود:
كود PHP:
function pagination($tablename,$querywhere,$perpage,$page,$urlpage,$adjacent,$prevtext="«",$nexttext="»",$endcomd="")
{
global 
$str;
if(
$str==1){ $pagestr 'pages'; }else{ $pagestr 'page'; }

$lastpage = @ceil(mysql_num_rows(mysql_query("SELECT * FROM ".$tablename." ".$querywhere."")) / $perpage);

$prev $page 1//previous page is page - 1
$next $page 1//next page is page + 1
$lpm1 $lastpage 1//last page minus 1
$adjacents $adjacent// How many adjacent pages should be shown on each side?

if($lastpage 1)
{
$pagination '<div class="pagination">';


if (
$page 1){
$pagination .= '<a title="Prev" href="'.$urlpage.''.$pagestr.'='.$prev.''.$endcomd.'">'.$prevtext.'</a>';
}else{
$pagination .= '<span class="disabled">'.$prevtext.'</span>';
}



if (
$lastpage + ($adjacents 2)){

/* Start Loop 1 */
for ($counter 1$counter <= $lastpage$counter++)
{
if (
$counter == $page){
$pagination .= '<span class="current">'.$counter.'</span>';
}else{
$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$counter.''.$endcomd.'">'.$counter.'</a>';
}
}
/* End Loop 1 */


}elseif($lastpage + ($adjacents 2)){


if(
$page + ($adjacents 2)){

/* Start Loop 2 */
for ($counter 1$counter + ($adjacents 2); $counter++)
{
if (
$counter == $page){
$pagination .= '<span class="current">'.$counter.'</span>';
}else{
$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$counter.''.$endcomd.'">'.$counter.'</a>';
}
}
/* End Loop 2 */

$pagination .= '...';

$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$lpm1.''.$endcomd.'">'.$lpm1.'</a>';
$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$lastpage.''.$endcomd.'">'.$lastpage.'</a>';


}elseif(
$lastpage - ($adjacents 2) > $page && $page > ($adjacents 2)){

$pagination .= '<a href="'.$urlpage.''.$pagestr.'=1'.$endcomd.'">1</a>';
$pagination .= '<a href="'.$urlpage.''.$pagestr.'=2'.$endcomd.'">2</a>';

$pagination .= '...';

/* Start Loop 3 */
for ($counter $page $adjacents$counter <= $page $adjacents$counter++){

if (
$counter == $page){
$pagination .= '<span class="current">'.$counter.'</span>';
}else{
$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$counter.''.$endcomd.'">'.$counter.'</a>';
}
}
/* End Loop 3 */

$pagination .= '...';

$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$lpm1.''.$endcomd.'">'.$lpm1.'</a>';
$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$lastpage.''.$endcomd.'">'.$lastpage.'</a>';

}else{

$pagination .= '<a href="'.$urlpage.''.$pagestr.'=1'.$endcomd.'">1</a>';
$pagination .= '<a href="'.$urlpage.''.$pagestr.'=2'.$endcomd.'">2</a>';

$pagination .= '...';

/* End Loop 4 */
for ($counter $lastpage - (+ ($adjacents 2)); $counter <= $lastpage$counter++){
if (
$counter == $page){
$pagination .= '<span class="current">'.$counter.'</span>';
}else{
$pagination .= '<a href="'.$urlpage.''.$pagestr.'='.$counter.''.$endcomd.'">'.$counter.'</a>';
}
}
/* End Loop 4 */

}
}

//next button
if ($page $counter 1){
$pagination .= '<a title="Next" href="'.$urlpage.''.$pagestr.'='.$next.''.$endcomd.'">'.$nexttext.'</a>';
}else{
$pagination .= '<span class="disabled">'.$nexttext.'</span>';
}


$pagination .= '</div>';
}

return 
$pagination;



كيفية الإستغلال

أولا أعلى الصفحة التي تود ظهور صفحات فيها

كود PHP:
$page = (int) (!isset($_GET["page"]) ? $_GET["page"]);
$page = ($page == $page);
$perpage 10;
$startpoint = ($page $perpage) - $perpage
الشرح:

$perpage هو الخاص بعدد المواضيع المراد عرضها في الصفحة الواحدة.


كيفية الإستدعاء


كود PHP:
pagination("الجدول في قاعدة ","الشرط الذي تريده مثلا الإيدي ",$perpage,$page,"الملف الذي فيه التعدد",5); 


مثال:
كود PHP:
pagination("file","where cat='$id' and active='1'",$perpage,$page,"index.php?s=cat&id=".$id."&",5); 

ملاحظة الدالة هي
function

و السلام عليكم












 


رد مع اقتباس