读书人

mongoDB高效率分页类

发布时间: 2013-02-25 10:23:36 作者: rapoo

mongoDB高效分页类
}}}?//获取上一页private function get_prev(){if($this->prev){$this->link.='<a href="'.$this->url.'/page/'.($this->page - 1).'/id/'.$this->prev.'" title="上一页">上一页</a>';}}?//中间显示private function get_center(){$start = ($this->page - $this->set) <= 0 ? 1 : ($this->page - $this->set); ?$end = ($this->page + $this->set + 1 >= $this->total) ? $this->total + 1 : ($this->page + $this->set + 1);?$ii = $this->left;$iii = 0;//显示左边的for($i = $start; $i < $end; $i++, $ii--, $iii++){if($this->page == $i){$this->link.='<a style="color:#06F">'.$i.'</a>';}else{$the_id = $ii * $this->size - 1;if($the_id > 0){$this->link.='<a href="'.$this->url.'/page/'.$i.'/id/'.$this->leftresult[$the_id][$this->key].'" title="第'.$i.'页">'.$i.'</a>';}else{$the_id = ($iii - $this->left) * $this->size;$this->link.='<a href="'.$this->url.'/page/'.$i.'/id/'.$this->rightresult[$the_id][$this->key].'" title="第'.$i.'页">'.$i.'</a>';}}}}?//获取下一页private function get_next(){if($this->next){$this->link.='<a href="'.$this->url.'/page/'.($this->page + 1).'/id/'.$this->next.'" title="下一页">下一页</a>';}}?//获取尾页private function get_last(){if($this->page != $this->total){$this->link.='<a href="'.$this->url.'/page/'.$this->total.'/id/'.$this->lastd.'" title="尾页">尾页</a>';}}?//跳转到private function get_turnto(){$this->turnto = '<form action="" method="get" onsubmit="window.location=\''.$this->url.'/search/\'+this.p.value+\''.'\';return false;">转到第 <input type="text" name="p" style="width:25px;text-align:center"> 页';}?//求反public function nor_orderby(){foreach($this->orderby as $key => $order){if($order==-1){$orderby[$key] = 1;}else{$orderby[$key] = -1;}}return $orderby;}?//设置keypublic function set_key($key){$this->key = $key;}?//分页操作public function show(){$this->set_key($this->key);$this->set_orderby($this->orderby);$left = $this->get_left();$right = $this->get_right();$leftresult = $this->db->get_left($left, $this->last);$rightresult = $this->db->get_right($right, $this->last);$this->set_left_result($leftresult);$this->set_right_result($rightresult);$last = $this->db->get_last();$this->set_last($last);?return $this->get_link();}}/* ? ? ?调用例子global $DB;$lastid = GET::UINT('id');$table = 'log';$key = '_id';$orderby = array($key => -1);?$DB->set_table($table);$DB->set_key($key);$DB->set_orderby($orderby);?$log = $DB->page_query($lastid);?$page = new Page($lastid, $key, $orderby);$pager = $page->show();*/?>附上对应的mongodb类<?php??//MongoDB操作类class DB?{?private $CI;private $config_file = 'MongoDB';?private $connection;private $db;private $connection_string;?private $collection = '';private $host;private $port;private $user;private $pass;private $dbname;private $key;private $persist;private $persist_key;?private $selects = array();private $wheres = array();private $sorts = array();private $page_sorts = array();?private $limit = 999999;private $offset = 0;??/**

读书人网 >其他数据库

热点推荐