添加了几个自定义的 从mysql result 集合中 抽取指定片段的方法 , 没有调用释放的原因 这个涉及到 程序的 原来校验也多亏网上大神的帮助啊 。。。。 老系统害死人啊, 后台都不能动复制代码代码如下:php/* 分页类* @author xiaojiong & 290747680@qq.com* @date 2011-08-17** show(2) 1 ... 62 63 64 65 66 67 68 ... 150* 分页样式* #page{font:12px/16px arial}* #page span{float:left;margin:0px 3px;}* #page a{float:left;margin:0 3px;border:1px solid #ddd;padding:3px 7px; text-decoration:none;color:#666}* #page a.now_page,#page a:hover{color:#fff;background:#05c}*/ class Core_Lib_Page{public $first_row; //起始行数public $list_rows; //列表每页显示行数protected $total_pages; //总页数protected $total_rows; //总行数protected $now_page; //当前页数protected $method = 'defalut'; //处理情况 Ajax分页 Html分页(静态化时) 普通get方式protected $parameter = '';protected $page_name; //分页参数的名称protected $ajax_func_name;public $plus = 3; //分页偏移量protected $url;public function get_page_result(){$lastResult = array();$skipCount = $this->get_skip_row_count();if(mysql_num_rows($result)>0){mysql_data_seek($result,$skipCount);}$pageSize = $this->$list_rows;while($row = mysql_fetch_array($result)){$pageSize --;$lastResult[] = $row;if($pageSize == 0){break ;}}return $lastResult;}public function get_skip_row_count(){return $this->list_rows*($this->now_page-1);}/*** 构造函数* @param unknown_type $data*/ public function __construct($data = array()){$this->total_rows = $data['total_rows'];$this->parameter = !empty($data['parameter']) ? $data['parameter'] : '';$this->list_rows = !empty($data['list_rows']) && $data['list_rows'] $this->total_pages = ceil($this->total_rows / $this->list_rows);$this->page_name = !empty($data['page_name']) ? $data['page_name'] : 'p';$this->ajax_func_name = !empty($data['ajax_func_name']) ? $data['ajax_func_name'] : '';$this->method = !empty($data['method']) ? $data['method'] : '';/* 当前页面 */ if(!empty($data['now_page'])){$this->now_page = intval($data['now_page']);}else{$this->now_page = !empty($_GET[$this->page_name]) ? intval($_GET[$this->page_name]):1;}$this->now_page = $this->now_page now_page;if(!empty($this->total_pages) && $this->now_page > $this->total_pages){$this->now_page = $this->total_pages;}$this->first_row = $this->list_rows * ($this->now_page - 1);}/*** 得到当前连接* @param $page* @param $text* @return string*/ protected function _get_link($page,$text){switch ($this->method) {case 'ajax':$parameter = '';if($this->parameter){$parameter = ','.$this->parameter;}return '' . $text . '' . "\n";break;case 'html':$url = str_replace('?', $page,$this->parameter);return '' . $text . '' . "\n";break;default:return '' . $text . '' . "\n";break;}}/*** 设置当前页面链接*/ protected function _set_url(){$url = $_SERVER['REQUEST_URI'].(strpos($_SERVER['REQUEST_URI'],'?')?'':"?").$this->parameter;$parse = parse_url($url);if(isset($parse['query'])) {parse_str($parse['query'],$params);unset($params[$this->page_name]);$url = $parse['path'].'?'.http_build_query($params);}if(!empty($params)){$url .= '&';}$this->url = $url;}/*** 得到$page的url* @param $page 页面* @return string*/ protected function _get_url($page){if($this->url === NULL){$this->_set_url();}// $lable = strpos('&', $this->url) === FALSE ? '' : '&';return $this->url . $this->page_name . '=' . $page;}/*** 得到第一页* @return string*/ public function first_page($name = '第一页'){if($this->now_page > 5){return $this->_get_link('1', $name);}return '';}/*** 最后一页* @param $name* @return string*/ public function last_page($name = '最后一页'){if($this->now_page total_pages - 5){return $this->_get_link($this->total_pages, $name);}return '';}/*** 上一页* @return string*/ public function up_page($name = '上一页'){if($this->now_page != 1){return $this->_get_link($this->now_page - 1, $name);}return '';}/*** 下一页* @return string*/ public function down_page($name = '下一页'){if($this->now_page total_pages){return $this->_get_link($this->now_page + 1, $name);}return '';}/*** 分页样式输出* @param $param* @return string*/ public function show($param = 1){if($this->total_rows {return '';}$className = 'show_' . $param;$classNames = get_class_methods($this);if(in_array($className, $classNames)){return $this->$className();}return '';}protected function show_2(){if($this->total_pages != 1){$return = '';$return .= $this->up_page('for($i = 1;$itotal_pages;$i++){if($i == $this->now_page){$return .= "$i\n";}else{if($this->now_page-$i>=4 && $i != 1){$return .="...
\n";$i = $this->now_page-3;}else{if($i >= $this->now_page+5 && $i != $this->total_pages){$return .="...
\n";$i = $this->total_pages;}$return .= $this->_get_link($i, $i) . "\n";}}}$return .= $this->down_page('>');return $return;}}protected function show_1(){$plus = $this->plus;if( $plus + $this->now_page > $this->total_pages){$begin = $this->total_pages - $plus * 2;}else{$begin = $this->now_page - $plus;}$begin = ($begin >= 1) ? $begin : 1;$return = '';$return .= $this->first_page();$return .= $this->up_page();for ($i = $begin; $i {if($i>$this->total_pages){break;}if($i == $this->now_page){$return .= "$i\n";}else{$return .= $this->_get_link($i, $i) . "\n";}}$return .= $this->down_page();$return .= $this->last_page();return $return;}protected function show_3(){$plus = $this->plus;if( $plus + $this->now_page > $this->total_pages){$begin = $this->total_pages - $plus * 2;}else{$begin = $this->now_page - $plus;}$begin = ($begin >= 1) ? $begin : 1;$return = '总计 ' .$this->total_rows. ' 个记录分为 ' .$this->total_pages. ' 页, 当前第 ' . $this->now_page . ' 页 ';$return .= ',每页 ';$return .= '';$return .= $this->first_page()."\n";$return .= $this->up_page()."\n";$return .= $this->down_page()."\n";$return .= $this->last_page()."\n";$return .= '';for ($i = $begin;$i{if($i>$this->total_pages){break;}if($i == $this->now_page){$return .= ''.$i.'';}else{$return .= '' .$i. '';}}$return .= '';return $return;}}?>http://www.bkjia.com/PHPjc/325907.html www.bkjia.com true http://www.bkjia.com/PHPjc/325907.html TechArticle添加了几个自定义的 从mysql result 集合中 抽取指定片段的方法 , 没有调用释放的原因 这个涉及到 程序的 原来校验 也多亏网上大神的帮助...
