+ Cevap Yaz
Toplam 2 sayfadan 1. sayfa 1 2 En SonEn Son
12 sonuçtan 1 ile 10 arası gösteriliyor

Konu: php sayfalama

  1. #1

    Üyelik Tarihi
    02/2010
    Mesaj
    75
    Ceviz Üyesi

    Varsayılan php sayfalama

    Kod:
    $query = "SELECT COUNT(*) FROM tava";
    $result = mysql_query($query) or die(mysql_error());
    $num_rows = mysql_fetch_row($result);
    $pages = new Paginator;
    $pages->items_total = $num_rows[0];
    $pages->mid_range = 5; // Number of pages to display. Must be odd and > 3
    $pages->paginate();
     
    $query = "SELECT * FROM tava  ORDER BY id ASC  $pages->limit";
    $result = mysql_query($query) or die(mysql_error());
    echo "<table>";
    while($row = mysql_fetch_row($result))
    {
    }
    echo "</table>";
    echo $pages->display_pages();
    


    arkadaşlar burda örneğin toplam veri 20 ise ben bunu limit 10 yaptığım zaman 1,2 diye ayrılıyor fakat 1. sayfada 2. sayfada 20 veriyi gösteriyor yani ayırmıyor nasıl düzeltebiliirim.

  2. #2
    apaydin0054 Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    04/2007
    Mesaj
    357
    www.astropalya.com

    Varsayılan

    Kodlarının tamamı bunlarmı ? Limite 10 değerini nerede veriyorsun göremedim ben ?

  3. #3

    Üyelik Tarihi
    02/2010
    Mesaj
    75
    Ceviz Üyesi

    Varsayılan

    Kod:
     
    <?php
    class Paginator{
     var $items_per_page;
     var $items_total;
     var $current_page;
     var $num_pages;
     var $mid_range;
     var $low;
     var $high;
     var $limit;
     var $return;
     var $default_ipp = 5;
     var $querystring;
     function Paginator()
     {
      $this->current_page = 3;
      $this->mid_range = 7;
      $this->items_per_page = (!empty($_GET['ipp'])) ? $_GET['ipp']:$this->default_ipp;
     }
     function paginate()
     {
      if(@$_GET['ipp'] == 'All')
      {
       $this->num_pages = ceil($this->items_total/$this->default_ipp);
       $this->items_per_page = $this->default_ipp;
      }
      else
      {
       if(!is_numeric($this->items_per_page) OR $this->items_per_page <= 0) $this->items_per_page = $this->default_ipp;
       $this->num_pages = ceil($this->items_total/$this->items_per_page);
      }
      $this->current_page = (int) @$_GET['page']; // must be numeric > 0
      if($this->current_page < 1 Or !is_numeric($this->current_page)) $this->current_page = 1;
      if($this->current_page > $this->num_pages) $this->current_page = $this->num_pages;
      $prev_page = $this->current_page-1;
      $next_page = $this->current_page+1;
      if($_GET)
      {
       $args = explode("&",$_SERVER['QUERY_STRING']);
       foreach($args as $arg)
       {
        $keyval = explode("=",$arg);
        if($keyval[0] != "page" And $keyval[0] != "ipp") $this->querystring .= "&" . $arg;
       }
      }
      if($_POST)
      {
       foreach($_POST as $key=>$val)
       {
        if($key != "page" And $key != "ipp") $this->querystring .= "&$key=$val";
       }
      }
      if($this->num_pages > 5)
      {
       $this->return = ($this->current_page != 1 And $this->items_total >= 10) ? "<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=$prev_page&ipp=$this->items_per_page$this->querystring\">&laquo; Previous</a> ":"<span class=\"inactive\" href=\"#\">&laquo; Previous</span> ";
       $this->start_range = $this->current_page - floor($this->mid_range/2);
       $this->end_range = $this->current_page + floor($this->mid_range/2);
       if($this->start_range <= 0)
       {
        $this->end_range += abs($this->start_range)+1;
        $this->start_range = 1;
       }
       if($this->end_range > $this->num_pages)
       {
        $this->start_range -= $this->end_range-$this->num_pages;
        $this->end_range = $this->num_pages;
       }
       $this->range = range($this->start_range,$this->end_range);
       for($i=1;$i<=$this->num_pages;$i++)
       {
        if($this->range[0] > 2 And $i == $this->range[0]) $this->return .= " ... ";
        // loop through all pages. if first, last, or in range, display
        if($i==1 Or $i==$this->num_pages Or in_array($i,$this->range))
        {
         $this->return .= ($i == $this->current_page And $_GET['page'] != 'All') ? "<a title=\"Go to page $i of $this->num_pages\" class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" title=\"Go to page $i of $this->num_pages\" href=\"$_SERVER[PHP_SELF]?page=$i&ipp=$this->items_per_page$this->querystring\">$i</a> ";
        }
        if($this->range[$this->mid_range-1] < $this->num_pages-1 And $i == $this->range[$this->mid_range-1]) $this->return .= " ... ";
       }
       $this->return .= (($this->current_page != $this->num_pages And $this->items_total >= 10) And ($_GET['page'] != 'All')) ? "<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=$next_page&ipp=$this->items_per_page$this->querystring\">Next &raquo;</a>\n":"<span class=\"inactive\" href=\"#\">&raquo; Next</span>\n";
       $this->return .= ($_GET['page'] == 'All') ? "<a class=\"current\" style=\"margin-left:10px\" href=\"#\">All</a> \n":"<a class=\"paginate\" style=\"margin-left:8px\" href=\"$_SERVER[PHP_SELF]?page=1&ipp=All$this->querystring\">All</a> \n";
      }
      else
      {
       for($i=1;$i<=$this->num_pages;$i++)
       {
        $this->return .= ($i == $this->current_page) ? "<a class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=$i&ipp=$this->items_per_page$this->querystring\">$i</a> ";
       }
       $this->return .= "<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=1&ipp=All$this->querystring\">All</a> \n";
      }
      $this->low = ($this->current_page-1) * $this->items_per_page;
      $this->high = (@$_GET['ipp'] == 'All') ? $this->items_total:($this->current_page * $this->items_per_page)-1;
      $this->limit = (@$_GET['ipp'] == 'All') ? "":" LIMIT $this->low,$this->items_per_page";
     }
     
     function display_jump_menu()
     {
      for($i=1;$i<=$this->num_pages;$i++)
      {
       $option .= ($i==$this->current_page) ? "<option value=\"$i\" selected>$i</option>\n":"<option value=\"$i\">$i</option>\n";
      }
      return "<span class=\"paginate\">Page:</span><select class=\"paginate\" onchange=\"window.location='$_SERVER[PHP_SELF]?page='+this[this.selectedIndex].value+'&ipp=$this->items_per_page$this->querystring';return false\">$option</select>\n";
     }
     function display_pages()
     {
      return $this->return;
     }
    }
    ?>
    
    alın buda kodun devamı....

    ya lütfen yardımcı olun..
    Enson 06/04/2010 15:59 tarihinde Sniper tarafından düzenlenmiştir.

  4. #4
    Sniper Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    06/2004
    Yer
    İstanbul
    Mesaj
    2,726
    Üye

    Varsayılan

    Sen Class'ı eklemişsin buraya, bu class'ı nasıl kullanıyorsun, asıl önemli olan o...

  5. #5

    Üyelik Tarihi
    02/2010
    Mesaj
    75
    Ceviz Üyesi

    Varsayılan

    nasıl yani? include ediyorum. class'ı

  6. #6
    Sniper Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    06/2004
    Yer
    İstanbul
    Mesaj
    2,726
    Üye

    Varsayılan

    Pardon, "kodun devamı" kısmını "kodun tamamı" olarak okuduğumdan ilk mesajdaki kodlara bakmamıştım. Aradığım şey oydu. Class bana biraz karışık geldi ama birşey gözüme çarptı: $items_per_page değişkenine herhangi bir değer vermen gerekmiyor mu?

    Bu arada, konuyla alakalı ben de bir sınıf yazmıştım, istersen ona da bir gözat: http://tuncay.kinali.net/php-ile-mys...ma-sinifi.html

  7. #7

    Üyelik Tarihi
    02/2010
    Mesaj
    75
    Ceviz Üyesi

    Varsayılan

    bilen yokmu tam olarak?....

  8. #8
    Sniper Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    06/2004
    Yer
    İstanbul
    Mesaj
    2,726
    Üye

    Varsayılan

    Tam olarak bilen birini bulman zor. Yukarıda sana bir soru sormuştum, onu okudun mu? Bu class'ı edindiğin yerde nasıl kullanılacağına dair bir örnek yok mu?

  9. #9

    Üyelik Tarihi
    02/2010
    Mesaj
    75
    Ceviz Üyesi

    Varsayılan

    senin dedğini okuduma ama anladım.. bu kodları burdan aldım istersen bi bak http://www.catchmyfame.com/2007/07/2...ination-class/

    yardımcı olursan seviniirim
    şimdiden tşkkürler.

  10. #10
    Necronomicon Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    10/2008
    Yer
    den, buldum
    Mesaj
    344
    Haaaiiiyyytt Life

    Varsayılan

    http://forum.ceviz.net/php/17267-kut...tml#post560726 (Kütüphane) linkte , kendi sistemim için yazdığım pagination sınıfı yazdım
    bir bak

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Bookmarks

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz