一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php分页代码(完整php mysql 经典分页实例)

时间:2010-07-16 编辑:简简单单 来源:一聚教程网

html代码

 代码如下 复制代码


 
   

 
 

         


           
           
           
           
 
$conn=mysql_connect("localhost","root","") or die("不能连接数据库教程:".mysql_error());
$db=mysql_select_db("dbtest") or die("选择数据库错:".mysql_error());
mysql_query("set names gb2312");

$sql="select * from test order by id ";
genpage($sql,3); //这里引用了第一个函数 后面数字定义每页记录数
$result=mysql_query($sql) or die ("数据库操作出错:".mysql_error());
while ($row=mysql_fetch_array($result))
{
?>

         


           
           
           
         

}
?>
         


           
         
     
id标题日期

 

 

   
page.php代码

 

 代码如下 复制代码

function genpage(&$sql,$page_size=10)
{
      global $pages,$sums,$eachpage,$page; //总页数,总记录,每页数,当前页
      $page = $_get["page"];
   if($page ==0)$page =1;
      $eachpage = $page_size;

      $pagesql = strstr($sql," from ");
      $pagesql = "select count(*) as ids ".$pagesql;
      $conn = mysql_query($pagesql) or die(mysql_error());
      if($rs = mysql_fetch_array($conn))$sums = $rs[0];
     
      $pages=ceil($sums/$eachpage);
   if($pages==0)$pages=1;
  
      $startpos = ($page-1)*$eachpage;
      $sql .=" limit $startpos,$eachpage ";
}


//显示分页
function showpage()
{
 global $pages,$sums,$eachpage,$page; //总页数,总记录,每页数,当前页,其它参数
    $link=$_server['php_self']; 
 
echo "记录".$sums.":".$eachpage." ";
echo "页数".$page."/".$pages." ";

$p_head=$page-5;
if($p_head<=0)$p_head=1;   //页码循环开始数 前5个
$p_end=$page+5;
if($p_end>$pages)$p_end=$pages;   //页码循环结束数 后5个

echo "[首页] ";
 for($i=$p_head;$i<=$p_end;$i++)
 {
 if($i!=$page)
  echo "[$i] ";
 else
  echo "[$i] ";
 }
echo " [末页]";

}

/*
--
-- 数据库: `dbtest`
--

-- --------------------------------------------------------

 代码如下 复制代码

--
-- 表的结构 `test`
--

create table if not exists `test` (
  `id` int(10) unsigned not null auto_increment,
  `title` varchar(50) not null,
  `editdate` date not null,
  primary key  (`id`)
) engine=innodb  default charset=gb2312 auto_increment=11 ;

--
-- 导出表中的数据 `test`
--

insert into `test` (`id`, `title`, `editdate`) values
(1, '测试标题1', '2009-01-01'),
(2, '测试标题2', '2009-08-26'),
(3, '测试标题3', '2009-03-26'),
(4, 'www.111com.net4', '0000-00-00'),
(5, '测试标题5', '0000-00-00'),
(6, '测试标题6', '0000-00-00'),
(7, '测试标题7', '0000-00-00'),
(8, '测试标题8', '0000-00-00'),
(9, '测试标题9', '0000-00-00'),
(10, '测试标题10', '0000-00-00');

*/

?>

热门栏目