<?php /* * 文件名称:news.php * 所属项目名称:bbs * 创建于 2009-3-12 上午07:51:26 * * 代码功能:实现 php 分页 * 详细说明: */ include('conn.php'); /*查找新闻表中的数据个数,保存到$num中 * @$num 总的数据个数 * */ $query = "SELECT COUNT(*) FROM news"; $result = mysql_query($query); $num = mysql_num_rows($result); /* 计算页面数$page_count,每页显示多少数据由$page_size决定, * 总的数据个数除以每页显示多少行,就能得到总共多少页 * @$page_count 页面总数 * @$page_size 每页显示的数据个数 * @$page 客户端提交的页面id * */ $page_size = 10; $page_count = ceil($num/$page_size);//进一法取整 //$offset = ($page_count-1)*$page_size; /*根据客户端GET提交上来的页面ID确定当前页面数*/ if(empty($_GET['page'])) { $page = 1; //客户端没有提交,页面是1 } else { $page = $_GET['page']; if($page<=0) { $page=1; //客户提交小于0,表示用户输入错误,设置默认值为1 } elseif($page >= $page_count) { //如果客户端提交大于数据库总的页面数,那么设置页面数为最大 $page = $page_count-1; } } /*SQL语句的limit表示显示从XX位置开始的XXX条数据*/ $sql = "SELECT * FROM news ORDER BY id DESC LIMIT ".($page-1)*$page_size.",$page_size"; $data=mysql_query($sql); //数据保存到$result中,给页面调用 ?> <table width="571" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0066FF"> <tr> <td width="100" bgcolor="#FFFFFF"><div align="center">编号</div></td> <td width="343" bgcolor="#FFFFFF"><div align="center">标题</div></td> <td width="150" bgcolor="#FFFFFF"><div align="center">时间</div></td> </tr> <?php /*循环把页面的数据显示出来*/ while($l_result=mysql_fetch_array($data)) { ?> <tr> <td bgcolor="#FFFFFF"><div align="center"><?php echo $l_result['id'];?></div> </td> <td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo " mce_href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['title'];?></a></div></td> <td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo " mce_href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['p_time'];?></a></div></td> </tr> <?php } ?> <center><a href="new.php" mce_href="new.php">发布信息</a><br /></center> <?php //页码显示 for($i=1; $i <=($page_count-1); $i ++) { echo "<a href="list.php?page=" mce_href="list.php?page="".$i."'>".$i."</a>"; } ?>