page = max(1, isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1); $this->total = max(1, isset($param['total']) ? intval($param['total']) : 1); $this->number = max(1, isset($param['number']) ? intval($param['number']) : 1); $this->bt_number = isset($param['bt_number']) ? intval($param['bt_number']) : 2; $this->where = (isset($param['where']) && is_array($param['where'])) ? $param['where'] : ''; $this->url = isset($param['url']) ? $param['url'] : ''; $this->page_total = 1; $this->html = ''; /* 参数设置 */ $this->SetParem(); } /** * [SetParem 参数设置] */ private function SetParem() { /* 防止超出最大页码数 */ $this->page_total = ceil($this->total/$this->number); if($this->page > $this->page_total) $this->page = $this->page_total; /* url是否包含问号 */ $state = stripos($this->url, '?'); /* 额外条件url设置 */ if(!empty($this->where) && is_array($this->where)) { $tmp = true; foreach($this->where as $k=>$v) { if($k == 'page') continue; if($tmp) { $this->url .= ($state === false) ? '?' : '&'; $this->url .= $k.'='.$v; $tmp = false; } else { $this->url .= '&'.$k.'='.$v; } } $this->page_start_tag = ($tmp == false) ? '&' : (($state === false) ? '?' : '&'); } else { $this->page_start_tag = ($state === false) ? '?' : '&'; } } /** * [GetPageHtml 获取生成好的分页代码] */ public function GetPageHtml() { $this->html .= '