Разделения по сторонницам

_vitalja__

Новичок
Оцените мой скрипт разделения по сторонницам

Код:
class Pages{
    private $cur_page = 1;
    private $back_page;
    private $next_page;
    private $per_page = 2;
    private $start;
    private $page = 0;
    private $select_limit;
    private $select;
    private $row;
    private $returnArr = array();
    private $pageplus;
    private $pageminus;

   
    function __construct($db, $table, $_GET){
        $this->getpage = $_GET['page'];
        $this->db = $db;
        $this->table = $table;
       
        if (isset($this->getpage) && $this->getpage > 0){
            $this->cur_page = $this->getpage;
        }
        $this->start = ($this->cur_page - 1) * $this->per_page;
    }
   

    function SelectPages(){
        $this->select = $this->db->prepare('SELECT * FROM '.$this->table.'');
        $this->select->execute();
        return $this->select->rowCount();
    }
   
   
    function back_page(){
        $this->back_page = $this->cur_page - 1;
        if($this->cur_page != 1){
            echo ' <a href="?page='.$this->back_page.'"><b>Назад</b></a> ';
        }
    }
   
    function first_page(){
        if($this->cur_page > 4){
            echo ' <a href="?page=1"><b>1</b></a> ';
        }
    }
   
        function last_page(){
        if($this->num_page()-3 > $this->cur_page){
            echo ' <a href="?page='.$this->num_page().'"><b>'.$this->num_page().'</b></a> ';
        }
    }
   
   
    function next_page(){
        $this->next_page = $this->cur_page + 1;
            if($this->cur_page != $this->num_page()){
            echo ' <a href="?page='.$this->next_page.'"><b>Далее</b></a> ';
            }
    }
   
   
    function num_page(){
        return ceil($this->SelectPages() / $this->per_page);
    }
   
   
    function page(){
        if($this->cur_page == 1)    $this->pageplus = $this->cur_page+6;
        if($this->cur_page == 2)    $this->pageplus = $this->cur_page+5; $this->pageminus = $this->cur_page-1;
        if($this->cur_page == 3)    $this->pageplus = $this->cur_page+4; $this->pageminus = $this->cur_page-2;
        if($this->cur_page > 3)        $this->pageplus = $this->cur_page+3; $this->pageminus = $this->cur_page-3;

        if($this->cur_page == $this->num_page())    $this->pageminus = $this->cur_page-6;
        if($this->cur_page == $this->num_page()-1)    $this->pageminus = $this->cur_page-5;
        if($this->cur_page == $this->num_page()-2)    $this->pageminus = $this->cur_page-4;
        if($this->cur_page == $this->num_page()-3)    $this->pageminus = $this->cur_page-3;

        while ($this->page++ < $this->num_page()){
            if ($this->page == $this->cur_page){
                echo $this->page;
            }elseif($this->page >= $this->pageminus and $this->page <= $this->pageplus){
                echo ' <a href="?page='.$this->page.'">'.$this->page.'</a> ';
            }       
        }
    }
   
    function conntent(){
        $this->select_limit = $this->db->prepare('SELECT * FROM '.$this->table.' LIMIT :start, :per_page');
        $this->select_limit->bindParam(':start', $this->start, PDO::PARAM_INT);
        $this->select_limit->bindParam(':per_page', $this->per_page, PDO::PARAM_INT);
        $this->select_limit->execute();

        while($this->row = $this->select_limit->fetch()){
            $returnArr[] = $this->row;
        }
        return  $returnArr;
    }

}
 

WMix

герр M:)ller
Партнер клуба

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Плохо, все очень плохо

 

WMix

герр M:)ller
Партнер клуба
фанат бы ответил что в запрос нужно подставлять, а вурдалаг должен был написать что нарушена первая буква SOLID принципа.
:)
 
Сверху