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


<?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|隐藏机器人聊天)
  • @Ta / 2013-03-23 / /
    嗯不错
  • @Ta / 2013-03-23 / /
    你又出现了啊
  • @Ta / 2013-03-23 / /
    @arox 怎么,不行吗?我其实都没离开过虎林……
  • @Ta / 2013-03-23 / /
    @love封尘 欢迎
  • @Ta / 2013-03-23 / /
    肥来了。。
  • @Ta / 2013-03-23 / /
    欢迎回来~~话说你的帖子怎么没了
  • @Ta / 2013-03-23 / /
    @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 / /
    @Xily 这是新号,你搜索用户“曾经的love封尘”,以前的帖子都在那个号里……
  • @Ta / 2013-03-23 / /
    还以为你要好好读书了
  • @Ta / 2013-03-24 / /
    我觉得数据库分页最简单了,就是连接数据库和导入数据麻烦了点。
  • @Ta / 2013-03-24 / /
    谢谢,有空修改, 最近太mangle
添加新回复
回复需要登录