sayfalama sınıfı sayfalarının doğru amt gösteren değil

0 Cevap php

sınıfı ile sorun i bir seferde 30 kayıtları görüntülemek istiyorum ve ben toplam 60 kayıt varsa sayfa numaralarını gösterir pagination divs sadece sayfa 1. gösterir ve sayfa değil 2. olmasıdır. Ben bunu düzeltmek için nasıl anlamaya çalıştım ama vazgeçmiş. herhangi bir yardım büyük apreciated olacaktır.

Bu i sınıfa niteliklerini aramak nasıl.

$paginate = new Pagination;
$paginate->pageName = "index.php";  //sets the page to use
$paginate->perPage = 10; //show num of records per page
$paginate->adjacents = 3; //current page adjacent to 
$paginate->sql = "select * from tbl_products"; //the main query
$query = $db->query($paginate->getData());

while($row = mysql_fetch_object($query)) {
  print $row->pName."<br/>";
}


$paginate->showPagination(); //shows the pagination div  

Burada sınıftır.

<?php

include_once("class.db.php");

class Pagination 
{

    var $param;
    var $perPage;
    var $adjacents;
    var $start;
    var $sql;
    var $pageName;


     function __construct() 
    {
        $this->db = new  MysqlDB;
        $this->db->connect();
     }

    function setParam() 
    {

        if(isset($_GET['page']) && is_numeric($_GET['page']) && ($_GET['page'] > 0)) 
        {
            $this->param = $_GET['page'];
        } 

        else 
        {
            $this->param = 1;
        }
    }


        function setIndex()
        {
            $this->setParam();
            return $this->start = ($this->param * $this->perPage) - $this->perPage;
        }

        function showPagination($param1=null,$param2=null,$param3=null) 
        {
            $qRows = $this->db->query($this->sql);
            $numRows = $this->db->num_rows($qRows);
            $numOfPages = ceil($numRows / $this->perPage);
            $param = $this->param;
            $pageName = $this->pageName;
            $string = "";

            //set pagination parameters.
            if($param1 != null) 
            {
                if(isset($_GET[$param1])) 
                {
                    $param1Value = $_GET[$param1];
                    $string .= "&".$param1."=".$param1Value;
                }
            }


            if($param2 != null) 
            {
                if(isset($_GET[$param2])) 
                {
                    $param2Value = $_GET[$param2];
                    $string .= "&".$param2."=".$param2Value;
                }
            }


            if($param3 != null) 
            {
                if(isset($_GET[$param3])) 
                {
                    $param3Value = $_GET[$param3];
                    $string .= "&".$param3."=".$param3Value;
                }
            }




            print "<div class='pagination'>";

            print "<a href='$this->pageName?page=1$string' class='previous-off'> First </a>";


            // ----------------------------------------------------------------------------        
                // PRINT ALL PAGES TO THE LEFT //
                if(($param - $this->adjacents) > 1) 
                {
                    print "<span>...</span>";

                    $lowerLimit = $param - $this->adjacents;

                    //print all on left side.
                    for($i = $lowerLimit; $i< $param; $i++) 
                    {
                        print "<a href='$pageName?page=$param = $i$string'> $i </a>";
                    }

                    }  

                    else 
                    {

                        //print all numbers between current page and  first page.

                        for($i = 1; $i < $param; $i++) 
                        {
                            print "<a href='$pageName?page=$i$string'> $i </a>";
                        }
                    }
            // ----------------------------------------------------------------------------



            //print current page
            if(($param != 0) && ($param != $numOfPages)) 
            {
                print "<span class='current'>$param</span>";
            }




            // ----------------------------------------------------------------------------            
                        //PRINT ALL PAGES TO THE RIGHT
                if(($param + $this->adjacents) < $numOfPages) 
                {

                    $upperLimit = $param + $this->adjacents;

                    for($i=($param + 1); $i<=$upperLimit; $i++) 
                    {
                        print "<a href='$pageName?page=$i$string'> $i </a>";
                    }
                        print "<span>...</span>";
                    } 
                    else 
                    {

                        //print all page numbers if out of padded range

                        for($i = ($param + 1); $i<$numOfPages; $i++ ) 
                        {
                            print "<a href='$pageName?page=$i$string'> $i </a>";
                        }

                    }

            // ----------------------------------------------------------------------------

            $lastPage = $numOfPages - 1;
            print "<a class='next' href='$pageName?page=$lastPage$string'> Last </li>";

            print "</div>";
        }





        function getData() 
        {
            $query = $this->sql;
            $this->start = $this->setIndex();
            return "$query LIMIT $this->start, $this->perPage";
        }



        function errors() 
        {
            $query = $this->sql;
            print "$query LIMIT $this->start, $this->perPage"."<br/>";
            print "this->start ".$this->start."<br/>";
            print "this->param ".$this->param."<br/>";
            print "this->perPage ".$this->perPage."<br/>";
            print "this->setindex() ".$this->setIndex()."<br/>";
        }




}

?>  

0 Cevap