已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 教程

标题: 简单分页实例,献给新手!

作者: @Ta

时间: 2013-03-23

点击: 5513


<?php

/**
 *  作者:love封尘
*/

$page=$_page['page'];//接受地址传过来的变量,$page表示翻页的页数,表示用户浏览的页数

#连接数据库的例子就不用说了吧,节省字数#

$max=mysql_num_rows(mysql_query("SELECT * FROM i"));//这个是sql语句是查询数据表i中数据的总数量,一共有多少条数据,用$max表示,下面会使用它判断

$p=ceil($max/10);//计算一共多少页,设定每页10条记录,用总数量除以10,ceil这个函数是用来取整值的,不会出现余数,例如$max=1,那么$p=1/10,$p就等于1,不会出现小数点

if(!$page or $page>$p){
$page=1;//$page为翻页传过来的值,我们设定它没有值,或者值大于$p(总页数)的时候就设为1,表示第一页
}

$low=10*($page-1);//$low这个变量是决定数据表从第几条数据开始查起,这个公式是这样得来的,假设我们的数据表i中有30条记录,每页设定显示10条记录,第一页的$low就必须为0,这样它才可以查询1~10条的记录,第2页要查询11~20条记录,那么$low必须为10,那么我们通过传过来的$page的值,利用这个公式,便能改变$low的值,从而显示不同的数据
$result = mysql_query("SELECT * FROM i ORDER BY adddate DESC LIMIT $low,10");//这条sql语句用来查询数据表i的数据并按字段adddate(存储时间的字段)来降列(就是从大到小的排序)排序,LIMIT用来显示记录,$low表示从那里读取记录,10代表读取10条记录,这是他的两个参数,如LIMIT 20,10 就会显示第21条和第30条记录

while($row = mysql_fetch_array($result))
 {
$iid=$row[iid];
echo '(<div class="t">'.$row['adddate'].' '.'藏 转 评 <a href="ding.php?iid='.$iid.'">顶</a> <a href="cai.php?iid='.$iid.'">踩</a> <a href="xiangxi.php?iid='.$iid.'">详</a> '.'<a ;href="/i/'.$iid.'.html">'.'略</a> <a href="shanchu.php?iid='.$iid.'">删</a></div>');
    echo ('<div class="i">'.'<a href="u.php?uid='.$row[uid].'">'.$row['username'].'</a>'.$row['content'].'</div>'.'<div class="i">
</div>)'
 }
#以上while语句为取出数据表中的记录#


if($max){
#如果$max数据不为空,存在就会进行以下判断
if($page>1){
#看$page是否大于1,大于1就代表上面还有一页#
$pag=$page-1;
echo '<a href="index.php?page='.$pag.'">上页</a>';
}
if($page<$p){ 
#如果$page小于$p,如果总页数为2.那么下一页的链接就会显示了#
$page=$page+1;
echo  '<a href="index.php?page='.$page.'">下页</a>';
}
echo '共'.$p.'页/'.$max.'条记录';
}else{
#$max为空,则代表没有数据#
echo '数据库暂时没有数据!';
}
?>
以上为简单的分页,不会看不懂吧?
@梦幻天使 

@Leo 超越,用这个分页比我以前的那个要好一点,会更方便的,建议使用!

[隐藏样式|查看源码]


『回复列表(11|隐藏机器人聊天)』

1. 嗯不错
(/@Ta/2013-03-23 01:04//)

2. 你又出现了啊
(/@Ta/2013-03-23 01:22//)

3. @arox 怎么,不行吗?我其实都没离开过虎林……
(/@Ta/2013-03-23 01:39//)

4. @love封尘 欢迎
(/@Ta/2013-03-23 06:55//)

5. 肥来了。。
(/@Ta/2013-03-23 07:22//)

6. 欢迎回来~~话说你的帖子怎么没了
(/@Ta/2013-03-23 10:35//)

7. @love封尘 出错了<?php
ob_start();//打开缓存
date_default_timezone_set('PRC');//时区设置
echo <<<文件头
<!DOCTYPE html PUBLIC"-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="application/xhtml xml; charset=utf-8"/>
<title>评论</title>
</head>
<body>
文件头;
include('con.php');//数据库
$hfid=$_GET['ssid'];//接受心情id
if($_COOKIE["username"])
{
$yh=$_COOKIE["username"];
$h="SELECT * FROM tzss
WHERE id='$hfid'";//查询心情id
$sss=mysql_query($h);
$row1=mysql_fetch_array($sss);
$ss=$row1['yhid'];//发表用户id
$ssname=$row1['ssname'];//心情内容
$date=$row1['date'];//发表时间
$ssl="SELECT * FROM user
WHERE id='$ss'";//根据发表用户id查询用户名
$sss1=mysql_query($ssl);
$row2=mysql_fetch_array($sss1);
$yhname=$row2['name'];//取出用户名
echo "{$yhname}:{$ssname}<br>发表时间:{$date}";
echo <<<评论
<form method="post" action=""><br>评论列表<br>
<input type="text" name="name" value=""/>
<input type="submit"name="ok"value="评论" />
</form>
评论;
$name=$_POST['name'];
$ok=$_POST['ok'];
if($ok)
{
$ssl1="SELECT * FROM user
WHERE name='$yh'";//查询用户名
$sss2=mysql_query($ssl1);
$row3=mysql_fetch_array($sss2);
$yhid=$row3['id'];//用户id

$tj="insert into tzhf(id,tzid,yhid,hfname,date) values (null,'$hfid','$yhid','$name','$date')";//添加数据
$tjs=mysql_query($tj);
if($tjs)
{echo'<p>回复成功!<p>';
}
else { echo'回复错误!';}
}




$page=$_GET['page'];

$h="SELECT * FROM tzhf
WHERE tzid='$hfid'";//查询回复id
$sss4=mysql_query($h);
$max=mysql_num_rows($sss4);
$p=ceil($max/10);
if(!$page or $page>$p)
{$page=1;}
$low=10*($page-1);

$n="SELECT * FROM tzhf
WHERE tzid='$hfid' LIMIT '$low',10";//查询id

$o=mysql_query($n);

while($row4=mysql_fetch_array($o))
{
$hfname1=$row4['hfname'];
$yhid1=$row4['yhid'];
$date1=$row4['date'];

$ssl5="SELECT * FROM user
WHERE id='$yhid1'";//查询id
$sss3=mysql_query($ssl5);
$row8=mysql_fetch_array($sss3);
$yhname8=$row8['name'];//用户name
echo"{$yhname8}:{$hfname1}<br>发表时间:{$date1}<br>";}

if($max){
#如果$max数据不为空,存在就会进行以下判断
if($page>1){
#看$page是否大于1,大于1就代表上面还有一页#
$pag=$page-1;
echo '<a href="index.php?page='.$pag.'">上页</a>';
}
if($page<$p){ 
#如果$page小于$p,如果总页数为2.那么下一页的链接就会显示了#
$page=$page 1;
echo  '<a href="index.php?page='.$page.'">下页</a>';
}
echo '共'.$p.'页/'.$max.'条记录';
}

}
else{
header("Location:dl.php");}
?>
(/@Ta/2013-03-23 12:25//)

8. @Xily 这是新号,你搜索用户“曾经的love封尘”,以前的帖子都在那个号里……
(/@Ta/2013-03-23 12:39//)

9. 还以为你要好好读书了
(/@Ta/2013-03-23 22:35//)

10. 我觉得数据库分页最简单了,就是连接数据库和导入数据麻烦了点。
(/@Ta/2013-03-24 04:02//)

11. 谢谢,有空修改, 最近太mangle
(/@Ta/2013-03-24 09:34//)

回复需要登录

8月30日 00:32 星期六

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1