<?php
include('config.php'); // فایل حاوی تنظیمات اتصال به پایگاه داده
$tbl_name='tableName'; //نام جدول پایگاه داده
$adjacents = 3; //تعداد صفحاتی که بعد از شماره ی صفحه نمایش می دهد
$query = 'SELECT COUNT(*) as `num` FROM $tbl_name'; // کوئری دریافت تعداد صفحات قابل نمایش
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages['num'];
$targetpage = 'pageName'; //اسم این فایل که کدها را در آن قرار می دهید
$limit = 5; //تعداد پست هایی که در هر صفحه نشان داده می شود
$page = $_GET['page'];
if($page)
$start = ($page - 1) * $limit; //اولین گزینه گزینه ای که در صفحه نمایش داده می شود
else
$start = 0;
/* دریافت اطلاعات
column_name نام ستون یا ستونهایی می باشد که از جدول می خوانید
*/
$sql = 'SELECT column_name FROM $tbl_name LIMIT $start, $limit';
$result = mysql_query($sql);
if ($page == 0) $page = 1;
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$lpm1 = $lastpage - 1;
$pagination = '';
if($lastpage > 1)
{
$pagination .= '<div class=\'pagination\'>';
//کلید قبلی
if ($page > 1)
$pagination.= '<a href=\'$targetpage?page=$prev\'>« previous</a>';
else
$pagination.= '<span class=\'disabled\'>« previous</span>';
//صفحات
if ($lastpage < 7 + ($adjacents * 2))
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= '<span class=\'current\'>$counter</span>';
else
$pagination.= '<a href=\'$targetpage?page=$counter\'>$counter</a>';
}
}
elseif($lastpage > 5 + ($adjacents * 2))
{
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= '<span class=\'current\'>$counter</span>';
else
$pagination.= '<a href=\'$targetpage?page=$counter\'>$counter</a>';
}
$pagination.= '...';
$pagination.= '<a href=\'$targetpage?page=$lpm1\'>$lpm1</a>';
$pagination.= '<a href=\'$targetpage?page=$lastpage\'>$lastpage</a>';
}
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= '<a href=\'$targetpage?page=1\'>1</a>';
$pagination.= '<a href=\'$targetpage?page=2\'>2</a>';
$pagination.= '...';
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= '<span class=\'current\'>$counter</span>';
else
$pagination.= '<a href=\'$targetpage?page=$counter\'>$counter</a>';
}
$pagination.= '...';
$pagination.= '<a href=\'$targetpage?page=$lpm1\'>$lpm1</a>';
$pagination.= '<a href=\'$targetpage?page=$lastpage\'>$lastpage</a>';
}
else
{
$pagination.= '<a href=\'$targetpage?page=1\'>1</a>';
$pagination.= '<a href=\'$targetpage?page=2\'>2</a>';
$pagination.= '...';
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= '<span class=\'current\'>$counter</span>';
else
$pagination.= '<a href=\'$targetpage?page=$counter\'>$counter</a>';
}
}
}
//کلید بعدی
if ($page < $counter - 1)
$pagination.= '<a href=\'$targetpage?page=$next\'>next »</a>';
else
$pagination.= '<span class=\'disabled\'>next »</span>';
$pagination.= '</div>\n';
}
?>
<?php
while($row = mysql_fetch_assoc($result))
{
/*
کدهای تکرار شما
برای مثال:
echo $row['name'].'<br>';
*/
}
?>
<?php echo $pagination ?>
<div class="post">
<div class="title">عنوان پست</div>
<div class="text">متن پست</div>
</div>
//sql query
while($data = mysql_fetch_array($qeury)) // يا هر روش و حلقه مشابه ديگيري كه داريد
{
echo '
<div class="title">'.$data['title'].'</div>
<div class="text">'.$data['text'].'</div>
</div>
';
}
// شماره صفحه عددي را از كاربر بگير
$page = intval($_GET['page']);
// اگر صفحه كوچكتر از 0 بود صفحه پيش فرض شماره يك است
if($id <= 0)
$page = 1;
// تعداد مطالب در هر صفحه
$resultperpage = 10;
// شروع نمايش پست از پست شماره چند ؟
$from = ($page - 1) * $resultperpage;
// انتخاب مطالبي كه بايد در اين صفحه نمايش داده شودند
SELECT * FROM `news` LIMIT $from,$resultperpage;