سلام
دوستان صفحه بندی نیاز دارم بر فرض مثال اگه تعداد پست تو صفحه اول 5 تا بیشتر شد صفحه دیگه ایجاد کنه
لطفا لینک از سایت های دیگه ندید کسانی که واقعا بلد هستن اینجا راهنمایی کنن.
تشکر
سلام
دوستان صفحه بندی نیاز دارم بر فرض مثال اگه تعداد پست تو صفحه اول 5 تا بیشتر شد صفحه دیگه ایجاد کنه
لطفا لینک از سایت های دیگه ندید کسانی که واقعا بلد هستن اینجا راهنمایی کنن.
تشکر
سلام
ابتدا داده ها را از دیتابیس بخونید ، سپس
کد بدین صورت هست :
سپس باید صفحات را بخونید ، که کدش بدین صورت می شه :کد PHP:
//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;
}
?>
من حالت inline رو بهتون نشون دادمکد PHP:
<?php echo "<b>مشاهده به صورت صفحه بندی:</b> ";
for ($i = 1; $i <= $total_pages; $i++)
{
echo "<a href='view.php?page=$i'>صفحه ی $i</a> ";
}
?>
روش های دیگری هم وجود داره
سلام
قسمت اول کد مطمئن هستید درست کار میکنه ؟
پاسخ دوستمون رو تایید می کنم.
از دوستان کسی کار نکرده رو این موضوع ؟
اگه جواب منفی هست فردا خودم بشینم کار کنم روش
تشکر
---------- 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:
[LEFT]<?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> ";
}
?>[/LEFT]
دوست عزیز... عرض کردیم که کد ارائه شده درسته و یکی از روش ها همین هست .... بصورت این لاین ... امیدوارم مشکلتون حل شده باشه
این کدی که شما دادید قسمت اولش انگاری پاک شده !
دوست عزیز امیدوارم این کد کمکتون کنه ...
کد PHP:
$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;
}
?>
کد اول که دادم ، مشکلی نداره،فقط اطلاعات را باید SELECt کنید تا نشان بده
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)