$pages) $page = $pages; // 计算查询偏移量 $offset = $pagesize * ($page - 1); // 页码范围计算 $init = 1;// 起始页码数 $max = $pages;// 结束页码数 $pagelen = ($pagelen % 2) ? $pagelen : $pagelen+1;// 页码个数 $pageoffset = ($pagelen - 1) / 2;// 页码个数左右偏移量 // 生成html $pagecode = '

    '; if( $page == 1 ){ $pagecode .= '<<<'; } else{ $pagecode .= '<<<'; } // 分页数大于页码个数时可以偏移 if($pages>$pagelen) { // 如果当前页小于等于左偏移 if($page<=$pageoffset){ $init=1; $max = $pagelen; }else{// 如果当前页大于左偏移 // 如果当前页码右偏移超出最大分页数 if($page+$pageoffset>=$pages+1){ $init = $pages-$pagelen+1; }else{ // 左右偏移都存在时的计算 $init = $page-$pageoffset; $max = $page+$pageoffset; } } } // 生成html for($i=$init;$i<=$max;$i++){ if($i==$page){ $pagecode.=''.$i.''; } else { $pagecode.=''.$i.''; } } if( ($page == $pages) || ($pages == 0) ){ $pagecode.= '>>>'; } else{ $pagecode.= '>>>'; } $pagecode.='

    '; return array('pagecode'=>$pagecode,'sqllimit'=>'limit '.$offset.','.$pagesize); } $phpfile = 'abNews.php';// 页面文件名 $page= isset($_GET['page'])?$_GET['page']:1;// 默认页码 // 链接数据库 $db = mysql_connect('localhost:3306','yimianmian','2010yimianmian'); // 选择数据库 mysql_select_db('s4658970',$db); // 设置数据库编码 mysql_query("set names gbk"); // 获取需要的数据总条数 $counts = mysql_num_rows(mysql_query('select `article_id` from `ecs_article` where cat_id = 26',$db)); //echo $counts;exit; $sql='select * from `ecs_article` where cat_id = 26 order by article_id desc ';//定义查询新闻的语句SQL $getpageinfo = page($page,$counts,$phpfile);// 调用函数,生成分页HTML 和 SQL LIMIT 子句 $sql.=$getpageinfo['sqllimit'];// 组合完整的SQL语句 $data = $row = array();//初始化数组 // 定义数组存放新闻列表 $result = mysql_query($sql,$db);//获取结果集 //将数据装入$data数组 while($row = mysql_fetch_array($result)) { $data[] = $row; } // 循环输出新闻数据 foreach ($data as $new) { ?>