PDA

View Full Version : مبتدی: صفحه بندی داده ها



n_a602
چهارشنبه 11 آبان 1390, 11:20 صبح
سلام

دوستان عزیز من چطور میتونم وقتی اطلاعاتی رو از جدول میگیرم صفحه بندی کنم برای مثال مثل همین سایت که مثلا 10 تاپیک صفحه اول و بقیه صفحه دوم به بعد قرارداده شده:لبخندساده:

persian-boy
چهارشنبه 11 آبان 1390, 20:55 عصر
با سلام



<?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;&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; ?>




div.pagination { padding: 3px; margin: 3px; } div.pagination a { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #AAAADD; text-decoration: none; /* no underline */ color: #000099; } div.pagination a:hover, div.pagination a:active { border: 1px solid #000099; color: #000; } div.pagination span.current { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #000099; font-weight: bold; background-color: #000099; color: #FFF; } div.pagination span.disabled { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #EEE; color: #DDD; }