آموزش شماره گذاری صفحات برنامه
با سلام و خسته نباشید :
من یه cms کوچیکی طراحی کردم و حالا می خوام در صفحه اخبار مثلا 5 خبر که گذاشته شد صفحه دوم ساخته بشه تو وب چیزی درباره آموزش شمارش صفحات پیدا نکردم
ممنون میشم راهنمایی کنید و یک مثال در صورت امکان بزنید .
یکی از دوستان در انجمن دیگر ایکد رو لطف کردند گزاشتند اما نمی دونم چجوری باید بزارمش تو صفحات برنامم
ممنون میشم اگه توضیح بدید
نقل قول:
<?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 &amp;&amp; $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; ?>