PDA

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



hamidhassas
پنج شنبه 26 تیر 1393, 12:32 عصر
من با کد زیر اطلاعات رو از دیتابیس لیست میکنم و به صورت دسته های 12 تایی نمایش میدم

مشکلم اینکه که میخوام کاری کنم که اگر تعداد صفحه هایی که به صورت 12 تایی لیست شده از 10 صفحه بیشتر شد بشه مثل زیر نمونش مثل این لینک http://farsscript.ir (http://farsscript.ir/)

ار این

http://www.8pic.ir/images/rhvmg9dstrqa6w29k7lv.png

بشه این

http://www.8pic.ir/images/m0k9w0l981udbp9b6nov.png
اینم کدم



$posts = mysql_query("SELECT * FROM `user_log` ORDER BY `id` DESC");
$num_post = mysql_num_rows($posts);
$limit = 1;//تعداد مطلب در هر صفحه
if(!isset($_GET['page'])){
$page = 12;
} else {
$page = $_GET['page'];
}
$limitvalue = $page * $limit - ($limit);
$posts = mysql_query("SELECT * FROM `user_log` ORDER BY `id` DESC LIMIT $limitvalue, $limit");


< ?php if(mysql_num_rows($posts) > 0){ ?>
< center>
<div style="width:800px;">
< table>
<?php while($row = mysql_fetch_array($posts)) { ?>
<tr class="row1">
<td><?= $row['user_id']; ?></td>
<td align="right"><?= $row['user_name']; ?></td>
<td><?= $row['data_login']; ?></td>
<td><?= $row['time_login']; ?></td>
<td><a href="http://www.iplocationtools.com/<?= $row['ip_address']; ?>.html" target="_new"><?= $row['ip_address']; ?></a></td>
</tr>
< ?php } } ?>
< tfoot><tr><td colspan="5">&nbsp;</td></tr></tfoot>
< /table>
< /div>
< /center>
<div class="page_number">
<div class='wp-pagenavi'>
<?php
$num_pages = ceil($num_post / $limit);

if($num_pages > 1)
{
$page_count = 0;
for($x=0;$x<$num_pages;$x++)
{
$page_count++;
$number = $x + 1;
if($page != $number)
{
echo '<a href="user_login.php?page='.$number.'">'.$number.'';
}
if($page != $number)
{
echo '</a>';
}
else
{
echo'<span class="current">'.$number.'</span>';
}

}
}
?>
</div>
</div>

***BiDaK***
شنبه 28 تیر 1393, 03:44 صبح
// $number_of_pages_per_section = 10;
$start = $current_page - floor($number_of_pages_per_section / 2);
$end = $start + $number_of_pages_per_section - 1;

hamidhassas
یک شنبه 29 تیر 1393, 23:02 عصر
الان این چیه؟

***BiDaK***
دوشنبه 30 تیر 1393, 00:43 صبح
فانون گرانش نیوتنه!!!!!
خوب جواب تاپیکه دیگه.
start و end مشخص میکنه چه بازه ای الان نمایش داده بشه.و در حلقه for ای که گذاشتی مقداری اولیه میشه برابر start و شرط پایان برابر متغیر end.
کدها هم یه سری تغییرات میکنه.

hamidhassas
جمعه 17 مرداد 1393, 19:17 عصر
میشه کدی که من در بالا گذاشتم رو برام تصحیح کنید من نمیفهمم کدی که نوشتید اصلا چطوری باید استفادش کنم

hamidhassas
دوشنبه 20 مرداد 1393, 10:42 صبح
:عصبانی++:

Mohammadsgh
دوشنبه 20 مرداد 1393, 14:46 عصر
سایت phpclasses.org هم pagation های خوبی داره میتونید از اون استفاده کنید:لبخندساده:

***BiDaK***
دوشنبه 20 مرداد 1393, 18:29 عصر
اگه نیاز به یک paging داری خوب این کلاسو (http://barnamenevis.org/showthread.php?452944-%DA%A9%D9%84%D8%A7%D8%B3-%D8%B5%D9%81%D8%AD%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D8%B3%D8%A7%DB%8C%D8%AA) استفاده کن.
اگه میخوای رو کد خودت کار کنی که من دستورشو گذاشتم.
curent page اشاره میکنه به صفحه ی جاری که با $_GET مقدار دهی میکنی.
number_of_pages_per_section اشاره میکنه به همون تعداد صفحه ای که میخوای نشون بدی.خودت مشخص میکنی.یعنی مثلا اگر از 10 تا بیشتر شد مثل نمونه ی که گذاشتی بشه.پس مقدارشو 10 میذاری.
با اینکار دوتا متغیر start و end مقدارشون محاسبه میشه.
فقط میمونه نمایشش که for کدت عوش میشه و مقدار اولیه x برابر start میشه و شرط هم end =>