如何用php实现分页效果
1个回答
展开全部
将原代码(所有用到分页的代码我都加有注释)和设计页面和IE浏览后的页面都传给你,以方便你详查。如果这里不好看,就将此代码复制到Dreamweaver编辑器里,加上你自己的数据库。我不知道你用的是什么编辑器,我用的是Dreamweaver。 这里是原代码页面<?php
include("inc/conn.php"); //包含你的数据库文件
?><body>
<?php
$sql="select * from book"; //sql语句我就不用多讲了吧,其中book是我要连接的表,(可自己定义)后面将不作解释
$result=mysql_query($sql);
$number=mysql_num_rows($result); //获得总共多少条记录
$pagesize=10; //定义每个页面要显示多少条记录
$totalpage=ceil($number/$pagesize); //获得总的页数,ceil($number/$pagesize)总的记录/每页显示的记录
$pageno=$_GET['pageno'];
if($pageno==""){
$pageno=1; //设定,如果当前页为空时就显示为第1页
}
$startno=$pagesize*($pageno-1); //得到每页的起始页。$pagesize*($pageno-1)用每页多少条记录*(当前页-1),这是得到起始页的规则
$sql2="select * from book limit ".$startno.",".$pagesize; //用sql2语句中limit得出每一页的起始页和每一页要显示多少条记录
$result2=mysql_query($sql2);
?>
<table width="600" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#0000FF">
<tr>
<th align="center" bgcolor="#FFFFFF">书名:</th>
<th align="center" bgcolor="#FFFFFF">作者:</th>
<th align="center" bgcolor="#FFFFFF">价格:</th>
</tr>
<?php
while($rows=mysql_fetch_array($result2)){ //这里是循环,不用讲的吧,如果不懂再来问我
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['Bookname']?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['editor']?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['price']?></td>
</tr>
<?php } ?>
<tr>
<td align="center" bgcolor="#FFFFFF">共<?php echo $number //显示总共多少条记录 ?>条记录</td> <td align="center" bgcolor="#FFFFFF"><?php
if($pageno==1){
echo "[<a href=?pageno=".($pageno+1).">下一页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
} //如果是第一页时: 没有首页和上页,只有下页和末页(后两者有连接)
if($pageno<$totalpage && $pageno>1){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上一页</a>][<a href=?pageno=".($pageno+1).">下一页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
} //如果是第一页和末页之间的页数:首页,上页,下页,末页都有(四者都有连接)
if($pageno==$totalpage){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上一页</a>]";
} //如果是末页时: 只有首页和上页,没有下页和末页(前两者有连接) (到此为止分布做完了,下面的是跳转,顺便也跟你说说吧,呵呵)
?></td>
<td align="center" bgcolor="#FFFFFF"><form id="form1" name="form1" method="get" action="">
<select name="pageno">
<option selected="selected">第<?php echo $pageno?>页</option>
<?php
for($i=1;$i<=$totalpage;$i++){ //通过for定义变量i<=总页数将总共有多少页循环出来
?>
<option value="<?php echo $i?>">第<?php echo $i //显示当前所看到的页数?>页</option>
<?php } ?>
</select>
<input type="submit" name="Submit" value="go" />
</form>
</td>
</tr>
</table>
</body> 这里是设计页面 这里是IE浏览后看到的页面
include("inc/conn.php"); //包含你的数据库文件
?><body>
<?php
$sql="select * from book"; //sql语句我就不用多讲了吧,其中book是我要连接的表,(可自己定义)后面将不作解释
$result=mysql_query($sql);
$number=mysql_num_rows($result); //获得总共多少条记录
$pagesize=10; //定义每个页面要显示多少条记录
$totalpage=ceil($number/$pagesize); //获得总的页数,ceil($number/$pagesize)总的记录/每页显示的记录
$pageno=$_GET['pageno'];
if($pageno==""){
$pageno=1; //设定,如果当前页为空时就显示为第1页
}
$startno=$pagesize*($pageno-1); //得到每页的起始页。$pagesize*($pageno-1)用每页多少条记录*(当前页-1),这是得到起始页的规则
$sql2="select * from book limit ".$startno.",".$pagesize; //用sql2语句中limit得出每一页的起始页和每一页要显示多少条记录
$result2=mysql_query($sql2);
?>
<table width="600" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#0000FF">
<tr>
<th align="center" bgcolor="#FFFFFF">书名:</th>
<th align="center" bgcolor="#FFFFFF">作者:</th>
<th align="center" bgcolor="#FFFFFF">价格:</th>
</tr>
<?php
while($rows=mysql_fetch_array($result2)){ //这里是循环,不用讲的吧,如果不懂再来问我
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['Bookname']?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['editor']?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['price']?></td>
</tr>
<?php } ?>
<tr>
<td align="center" bgcolor="#FFFFFF">共<?php echo $number //显示总共多少条记录 ?>条记录</td> <td align="center" bgcolor="#FFFFFF"><?php
if($pageno==1){
echo "[<a href=?pageno=".($pageno+1).">下一页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
} //如果是第一页时: 没有首页和上页,只有下页和末页(后两者有连接)
if($pageno<$totalpage && $pageno>1){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上一页</a>][<a href=?pageno=".($pageno+1).">下一页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
} //如果是第一页和末页之间的页数:首页,上页,下页,末页都有(四者都有连接)
if($pageno==$totalpage){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上一页</a>]";
} //如果是末页时: 只有首页和上页,没有下页和末页(前两者有连接) (到此为止分布做完了,下面的是跳转,顺便也跟你说说吧,呵呵)
?></td>
<td align="center" bgcolor="#FFFFFF"><form id="form1" name="form1" method="get" action="">
<select name="pageno">
<option selected="selected">第<?php echo $pageno?>页</option>
<?php
for($i=1;$i<=$totalpage;$i++){ //通过for定义变量i<=总页数将总共有多少页循环出来
?>
<option value="<?php echo $i?>">第<?php echo $i //显示当前所看到的页数?>页</option>
<?php } ?>
</select>
<input type="submit" name="Submit" value="go" />
</form>
</td>
</tr>
</table>
</body> 这里是设计页面 这里是IE浏览后看到的页面
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询