制作分页是基础必学内容适合新手学习,老鸟勿扰。
制作思路:
1,首先要确定一个页面要显示多少条内容
2,mysql控制显示内容的数量使用 LIMIT 0,5 的语法来控制
LIMIT 0,5 //寓意是:从第1条开始,显示5条内容,也就是0,1,2,3,4条内容显示 LIMIT 5,5 //寓意是:从第6条开始,显示5条内容,也就是5,6,7,8,9条内容显示
3,在制作页码的时候每点击一个页码都要传递参数给服务器来判断用户点击当前的页码是多少,用get的方式向服务器传递,如:
<a href="?page=1">1</a> <a href="?page=2">2</a> <a href="?page=3">1</a> 用户点击的时候URL地址就会有像xxx.php?page=2这样的形式,使用$_GET['page'],就能获取到当前值,这样就能判断用户当前点击的页码。
4,打草稿
第1页 | 显示1-5条数据 | LIMIT 0,5 |
第2页 | 显示6-10条数据 | LIMIT 5,5 |
第3页 | 显示11-15条数据 | LIMIT 10,5 |
5,根据打出来的草稿写一个简单有规律的公式:
首先获取当前页码 $page_num=$_GET['page']; 考虑容错处理当前获取页码的代码改成如下: $page_num=(isset( $_GET['page'] ) && !empty($_GET['page']) && $_GET['page']>0 && is_numeric($_GET['page']))? intval($_GET['page']) : 1; 这里考虑一个页面显示5条数据,公式如下: $sql_num=($page_num-1)*5; //这个变量是用来代替红色部分的 LIMIT *,5 mysql根据用户点击的页码动态获取显示数据内容 $list_query=mysql_query("SELECT liuyan_username,liuyan_sex,liuyan_pic FROM liuyan_user ORDER BY id DESC LIMIT ".$sql_num.",5");
6,遍历页码显示内容
<?php while(!!$list=mysql_fetch_row($list_query)){?> <dl> <dd class="user"><?php echo $list[0]; ?> (<?php echo $list[1]; ?>)</dd> <dt><img src="<?php echo $list[2]; ?>" alt="<?php echo $list[0]; ?>" /></dt> <dd class="message">发消息</dd> <dd class="friend">加为好友</dd> <dd class="guest">写留言</dd> <dd class="flower">给他送花</dd> </dl> <?php }?>
7,获取页码数
1,先获取当前总共有多少条内容要显示: $list_num_query=mysql_query("SELECT id FROM liuyan_user"); $list_num=mysql_num_rows($list_num_query); //多少条数据 2,总数据 除以 当前页要显示的内容数量 等于 页码数 $show_page=ceil(($list_num/5)); ceil是一旦有小数点的就会向整数加1,即使有31条内容最后一条内容也要独立出来单独显示1个页码。
8,遍历页码
<ul id="page"> <?php for($i=1;$i<=$show_page;$i++){ ?> <span><a href="?page=<?php echo $i?>"><?php echo $i?></a></span> <?php }; ?> </ul>
———————————————————————–

下载:page
调用方法:
$page_num=(isset( $_GET['p'] ) && !empty($_GET['p']) && $_GET['p']>0 && is_numeric($_GET['p']))? intval($_GET['p']) : 1;
//获取用户点击的页码 能获取到page参数就获取没有就默认给它赋值1避免 LIMIT ".$sql_num.",5" 没有值页面会出错
$sql_num=($page_num-1)*6; //控制mysql LIMIT显示页码 一般默认显示都是 (1-1)*5
$list_query=mysql_query("SELECT con FROM msg LIMIT ".$sql_num.",6");
<?php
while( !!$row=mysql_fetch_row($list_query) ){
?>
<dl>
<dd class="user"><?php echo $row[0]; ?></dd>
</dl>
<?php } ?>
<div id="page_div" style="text-align:center; padding:10px 0;">
<?php
getpage('fri',5,"WHERE me='".$_SESSION['loginusername']."' OR fri='".$_SESSION['loginusername']."'");
?>
</div>
参数要和循环的内容一致