PDA

View Full Version : سوال: درخواست کد صفحه بندی برای مطالب



kazemi343
سه شنبه 15 تیر 1389, 12:15 عصر
سلام دوستان
من یک متغیر دارم$list که و قتی ازش خروجی میگیرم 200 تا لینک بهم میده حالا میخوام این 200تا لینک تو 10 صفحه نشون داده بشه یعنی تو هر صفحه 10 تا لینک(احتمال این که لینک ها از 200تا بیشتر هم بشه هست.)
یه کد پیدا کردم اما باید با دیتا بیس باشه.
من میخوام بدون دیتا بیس mysqlکار کنم.
الان اسکریپو نوشتم و قتی دستور echo"$list;" رو مینویسم تو صفحه بالای 200تا لینک به من میده .میخوام این این لینک هارو صفحه بندی کنم.تو هر صفحه 10 لینک

این کدی رو که پیدا کردم رو اینجا میزارم.ممنون میشم یکی اینو برای من تغیر بده


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

اینجا کی پی اچ پی کاره؟

Reza1607
سه شنبه 15 تیر 1389, 12:47 عصر
توی کتابخانه فایل ها یک فایلی رو آپ کردم که این چیزی رو که می خوای با چند تا چیز مفدی دیگه توش هست

مجموع مقالات iranphp (http://barnamenevis.org/forum/downloads.php?do=file&id=73679)

Reza1607
سه شنبه 15 تیر 1389, 12:49 عصر
اگه هم حوصله دانلود 2.5 مگ رو ندارید
برو این تاپیک
http://www.barnamenevis.org/forum/showpost.php?p=1030596&postcount=6