• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تعداد صفحات
#1
سلام.
می خواهم خبرهایم را که 30 تا هست را در 3 صفحه نمایش دهم. یعنی هر صفحه 10 خبر داشته باشم و پایین صفحاتم اینگونه باشد:
[1] [2] [3]
که با کلیک بر روی 1 , خبرهای 1 تا 10 , کلیک بر روی 2 , خبرهای 11 تا 20 و با کلیک بر روی 3 , خبرهای 21 تا 30 را نمایش دهد.
لطفا راهنماییم کنید.
با تشکر.
  پاسخ
تشکر شده توسط :
#2
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : hidensoft takphp
#3
ولی من باز هم متوجه نشدم!
یک توضیحی می دهید؟
با تشکر.
  پاسخ
تشکر شده توسط :
#4
دقیقا کجاشو متوجه نشدید؟

من که این موضوع رو اونجا کامل توضیح دادم
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#5
الگوریتم شو می شه بگید؟
یعنی مرحله به مرحله می خواهم بدونم باید چی کار کنم؟
  پاسخ
تشکر شده توسط :
#6
ببن دوست عزیز شما باید یه جور دیتا گرید برای خودت بنویسی، البته اگر از دیتابیس قراره خبرها رو بخونید، و گرنه که سه تا صفحه میسازید با سه تا لینک دیگه

در انتهای query تون باید از دستور limit استفاده کنید،
کد:
LIMIT x , y

limit x,y یعنی از رکود شماره x+1 به تعداد y تا جدا کن، یعنی مثلاً شما برای رکورد 21 تا 30 باید بزنی:
کد:
LIMIT 20 , 10
بعدم برای اینکه لینک 1 2 3 رو بزاری باید از متد Get استفاده کنی و x رو به همون صفحه پاس کنی و دوباره query رو اجرا کنی، یعنی چک میکنی که x هست یا نه، اگه نبود که x=0 و Limit x,10 و اگر بود x+=10 و باز limit x,10

بهمین سادگی
  پاسخ
تشکر شده توسط : takphp
#7
نقل قول:ببن دوست عزیز شما باید یه جور دیتا گرید برای خودت بنویسی،

دیتا گرید چیه؟
این سوسول بازیا واسه ای اس پی، سی شارپ و این چیزاست! Big Grin

خب، حمید جان لطف کردن و توضیح دادن. با این وجود اگر در این مورد مشکلی دارید، بگین.
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : takphp
#8
دوستان من می خواهم خبرهایم را از جدول بخونه, پس نمی دانم چند تا خبر دارم.(مثال گفتم 30 تا)
از طرفی برنامم فعلا به این صورت هست که دو تا فلش در پائین صفحه دارد که به خبرهای قبلی و بعدی می رود پس با limit هم که فرمودید کار کردم.
اما فلش اصلا بدرد برنامم نمی خورد و می خواهم از [1][2][3].....[n] استفاده کنم.
  پاسخ
تشکر شده توسط :
#9
کد پی‌اچ‌پی:
<?php
# class:     Pagination (PHP5)
# project:     Reza CMSpro
# date:     1390-12-8
# version:     1.0
# author:     Reza Sh (www.RezaOnline.Net/Blog)
# email:     [email protected]
# license:     gpl3

class pagination{

    public 
$all 0;             //select count(*) from post ;
    
public $range 10;         // make number range
    
public $inpage 0;            // inpage 1 or 2
    
public $address '';        // like http://reza19.in/?cat=8
    
public $beforq '?pg=';     // u can use ?pg= or &pg= or /page/
    
public $afterq '';
    
    public function 
inpage($i,$inpage){
        if(
$i==$inpage)
            return 
' class="inpage"';
        return 
'';    
    }
    
    public function 
pagenumber(){
        
$maxitem ceil($this->all/$this->range);
        
    
$i=0;
      
$out="\n<!--Reza Cms Pro-->\n<style type='text/css'>.clr-rezacmspro{clear:both}</style>\n<ul class='pgnumber'>\n";
      while (
$i<$maxitem):
            
$i++;
            
$out.='<li'.$this->inpage($i,$this->inpage).'><a href="'.$this->address.$this->beforq.$i.$this->afterq.'" target="_self">'.$i.'</a></li>'."\n";
      endwhile;
     
$out.='</ul>'."\n".'<div class="clr-rezacmspro"></div>';
        return 
$out;
        }
}

// usage
?>
<style type='text/css'>
.pgnumber li{
  float:right;
  display:inline-block;
    
  margin:2px 1px 1px 2px;
  background:white;

      transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  border:1px solid #D8CAAF
}
.pgnumber li:hover{
  background:#FFE0A8;
    transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}
.pgnumber a{
  display:inline-block;
    padding-top:2px;
  padding-bottom:2px;
  padding-right:6px;
  padding-left:6px;
}
li.inpage{
  background:#E6DCCA;
}


</style>

<?php
//config
$page = new pagination;
$page->all=218;
$page->range=10;
$page->beforq '/page-';//?pg=
$page->afterq'.html';

if(isset(
$_GET['pg']))
    
$page->inpage $_GET['pg'];
    
function 
pagenumber(){
global 
$page;
    echo 
$page->pagenumber();
}

//use this
pagenumber(); 
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : hamid_80386 takphp 3enator
#10
کد پی‌اچ‌پی:
function PagesNum($SelectL){
    include(
"ConnectDataBase.php");
    
$query   "SELECT * 
    FROM  `user` 
    ;"
;
    
$result mysql_query($query$link);
    if (
$result
    {
        
$num_rows mysql_num_rows($result);
        
$PagesNumber=($num_rows-($num_rows $SelectL))/$SelectL;
        if((
$num_rows $SelectL)>0$PagesNumber++;
        
mysql_close($link);  
        return 
$PagesNumber;
    }    
    else
    {
        return 
1;    
    }

این تابعی که گذاشتم تعداد صفحاتت رو بدست میاره
چون شما تو هر صفحه 10 تا خبر داری بجای $SelectL همون عدد 10 رو بذار
بجای iinclude("ConnectDataBase.php"); x هم توابع مربوط به اتصال پایگاه داده تون رو بذارید
بعد به تعداد مقدار برگشتی از این تابع میتونید تگ <a> درست کنید و یا هر جوری که خواستید مدیریتش کنید دیگه...
  پاسخ
تشکر شده توسط : takphp 3enator


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان