PDA

View Full Version : حرفه ای: کار با کلاس صفحه بندی



mohsen6500
چهارشنبه 02 اسفند 1391, 23:42 عصر
سلاام به دوستان عزیز
یک کلاسی هست که آقا رضای گـــل (http://barnamenevis.org/member.php?230839-rezaonline.net) از بچه های انجمن نوشتن و توی این سایت (http://pagination4php.codeplex.com/) هست
می خواستم ببنیم کسی با این کار کرده
میتونه یه مثال بزنه؟!!!

shahriyar3
چهارشنبه 02 اسفند 1391, 23:55 عصر
مثال که داره خودش


just include your script
and set config
{
<?php
$pageconf = array(
'all'=>200 , // select count(*) from post where
'range'=>10 , // select * from post limit (inpage-1)*range,range
'inpage'=>$_GET['page'], // current page. example $_GET[]
'limit'=>3 , // use number of li for minimize
'url'=>'http://rezaworkshop.ir/pagination.php?page=' // url of page. the number showed in end of url
);

$pagenumber = new pagination($pageconf);

echo $pagenumber->pagenumber();
?>
}

اول فایل اصلی کلاس و فراخوانی میکنید توی برنامه
بعد آرایه ها رو همونطور که تو کامنت ها نوشته پر میکنید بعد این خط
$pagenumber = new pagination($pageconf);
بعدش echo میکنید تموم
دستش هم درد نکنه چه کلاس خوبی نوشته

mohsen6500
پنج شنبه 03 اسفند 1391, 00:07 صبح
ممنون از راهنمایی شما
بله دستش درد نکنه واقعا خیلی جالبه
دیگه اینکه بله راهنمایی خودش داره منم یادم رفت این رو متذکر بشم
شما دوست عزیز
یک مثال رو اگر میتونید بدون دیتابیس و اگر هم نمی تونید با دیتابیس برام بزنید به صورت کامل
این توضیحات رو من قبلا دیده بودم و هرچی باهاش ور رفتم به نتیجه ای نرسیدم
واسه اینمزاحم دوستان شدم

shahriyar3
پنج شنبه 03 اسفند 1391, 00:44 صبح
<?php
include_once 'pagination.php';
$query = mysql_result(mysql_query("SELECT COUNT(*) FROM `content` 0,1"));
if(isset($_GET['page'])){
$page = $_GET['page'];
}else{$page = 1;}
$limit = 10;
$start = ($page -1) * $limit;
$pageconf = array(
'all'=>$query ,
'range'=>$limit ,
'inpage'=>$page,
'limit'=>3 ,
'url'=>'http://example.com/index.php?page='
);
$query = mysql_query("SELECT * FROM `contents` LIMIT $start,$limit");
//..... edame code ha

$pagenumber = new pagination($pageconf);

echo $pagenumber->pagenumber();
?>

haniye70
پنج شنبه 03 اسفند 1391, 01:14 صبح
سلام من از یک نمونه که دیتا بیس است و کار با اون بسیا بسیار راحت است
کلاسش رو ضمیمه کردم و حالا طریقه کار کردن با اون رو هم توضیح میدم


ابتدا تعدا خانه های تیبل رو می شماریم و یک شرط هم برای تعدا نمایش و صفحه بندی بر اساس تعدا نمایش میزاریم که معادله ریاضی هست که بر اساس اون مشخص میشه چه تعداد صفحه و چه تعداد ایتم قرار هست نمایش داده بشه توی صفحه ما

if(!isset($sort) && $sort == ""){
$sort = "id";
}
$query = $db->sql_query("SELECT * from "database."_my_table ");
$total_rows = $db->sql_numrows($query);
$entries_per_page = 12;
$current_page = (empty($_GET['page'])) ? 1 : $_GET['page'];
$start_at = ($current_page * $entries_per_page) - $entries_per_page;


حالا یه حلقه تعریف میکنیم که بر اساس او اطلاعات درون دیتا بیس رو در صفحه ما نمایش میده


$
result61 = $db->sql_query("SELECT * from "database"_my_table ORDER BY $sort DESC LIMIT $start_at, $entries_per_page");
while ($row6 = $db->sql_fetchrow($result61)) {
$id = $row6['id'];


توجه فرماید order ما بر اساس sort هستش که خودتون میتونید مد نظر بگیرید و where هم بر اساس
DESC LIMIT $start_at, $entries_per_page
هست که در قسمت اول نحوه بدست امدن اون مشخص هستش

در اخرین بخش صفحه هم اینو قرار میدیم



$link_to = "www.mywebsite.com/mypage";
echo'</table></td><div id="pagination" class="pagination"><center>';
clean_pagination($total_rows, $entries_per_page, $current_page, $link_to);
echo'</center></div> <br> <br> ';

که تعداد صفحه ها رو بر اساس مرحله اول نمایش میده
و اگر در کد های css هم مهارت دارید برای pagng خودتون یک استایل زیبا طراحی کنید

بازم میگم
تا بع تعداد ایتم ها درون صفحه رو خوب دقت کنید


$entries_per_page = 12;


امیدوارم توانسته باشم کمکی کرده باشم

mohsen6500
پنج شنبه 03 اسفند 1391, 13:42 عصر
ممنون از شما دوست عزیز
منتها من همون کلاس رومیخواستم چون جالب نوشته شده
بازم ممنون

MRmoon
پنج شنبه 03 اسفند 1391, 15:05 عصر
بله کلاس جالبی هست . واقعا کار زیبایی از ایشونه! و کار باهاش بسیار راحته که شما فقط به جای عددای پایین عدد های خودتون رو قرار میدین!