توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : صفحه بندی php
alborzhost
October 31st, 2011, 23:16
سلام
دوستان صفحه بندی نیاز دارم بر فرض مثال اگه تعداد پست تو صفحه اول 5 تا بیشتر شد صفحه دیگه ایجاد کنه
لطفا لینک از سایت های دیگه ندید کسانی که واقعا بلد هستن اینجا راهنمایی کنن.
تشکر
Optimus
November 1st, 2011, 00:18
سلام
ابتدا داده ها را از دیتابیس بخونید ، سپس
کد بدین صورت هست :
//start with pagination system
$per_page = 3;
$total_pages = ceil($num / $per_page);
if (isset($_GET['page']) && is_numeric($_GET['page']))
{
$show_page = $_GET['page'];
if ($show_page > 0 && $show_page <= $total_pages)
{
$start = ($show_page -1) * $per_page;
$end = $start + $per_page;
}
else
{
$start = 0;
$end = $per_page;
}
}
else
{
$start = 0;
$end = $per_page;
}
?>
سپس باید صفحات را بخونید ، که کدش بدین صورت می شه :
<?php echo "<b>مشاهده به صورت صفحه بندی:</b> ";
for ($i = 1; $i <= $total_pages; $i++)
{
echo "<a href='view.php?page=$i'>صفحه ی $i</a> ";
}
?>
من حالت inline رو بهتون نشون دادم
روش های دیگری هم وجود داره
alborzhost
November 1st, 2011, 01:27
سلام
قسمت اول کد مطمئن هستید درست کار میکنه ؟
ahmad.m3710
November 1st, 2011, 01:47
پاسخ دوستمون رو تایید می کنم.
alborzhost
November 1st, 2011, 02:47
از دوستان کسی کار نکرده رو این موضوع ؟
اگه جواب منفی هست فردا خودم بشینم کار کنم روش
تشکر
---------- Post added at 01:38 AM ---------- Previous post was at 01:26 AM ----------
سلام
کد اصلی رو روش کار کردم و تموم شد فردا با کمی تغییرات پابلیک میکنم
تشکر
---------- Post added at 01:47 AM ---------- Previous post was at 01:38 AM ----------
<?php
include("data.php");
$resultt=mysql_query("select * from news");
$countofsqlrows=mysql_num_rows($resultt);
$posts=4;
$pagenumber=ceil($countofsqlrows/$posts);
if ( isset($_GET['page']) && $_GET['page']<=$pagenumber)
{
$p=$_GET['page'];
$row=$posts*$p;
if ($row==$posts)
{
$row2=0;
}else{
$row2=$row/2;
}
$result=mysql_query("SELECT * FROM `news` LIMIT $row2,$row ");
while($data=mysql_fetch_array($result))
{
echo $data['id'];
echo"<br />";
}
}
for ($i=1;$i<=$pagenumber;$i++)
{
echo "<a href='cn.php?page=$i'> $i</a> ";
}
?>
ahmad.m3710
November 1st, 2011, 02:49
دوست عزیز... عرض کردیم که کد ارائه شده درسته و یکی از روش ها همین هست .... بصورت این لاین ... امیدوارم مشکلتون حل شده باشه
alborzhost
November 1st, 2011, 03:00
این کدی که شما دادید قسمت اولش انگاری پاک شده !
ahmad.m3710
November 1st, 2011, 03:10
دوست عزیز امیدوارم این کد کمکتون کنه ...
$limit = "10";
if(isset($_GET['page']))
{
$pagesss = $_GET['page'];
$page = ($pagesss - 1) * $limit;
}
else
{
$page = 0;
}
$numresults = mysql_query("SELECT * FROM product order by pid desc");
$numrows = mysql_num_rows($numresults);
$pages = intval($numrows/$limit);
if ($numrows%$limit) {
$pages++;}
$current = ($page/$limit) + 1;
if (($pages < 1) || ($pages == 0)) {
$total = 1;}
else {
$total = $pages;}
$first = $page + 1;
if (!((($page + $limit) / $limit) >= $pages) && $pages != 1) {
$last = $page + $limit;} //If not last results page, last result equals $page plus $limit.
else{
$last = $numrows;
}
?>
Optimus
November 1st, 2011, 12:21
کد اول که دادم ، مشکلی نداره،فقط اطلاعات را باید SELECt کنید تا نشان بده
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.