找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1361|回复: 0
打印 上一主题 下一主题

PHP翻页跳转功能实现方法

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 05:41:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            我们都知道用php+mysql在web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下,页面的显示情况将会变的非常糟糕,下面就来介绍一下如何实现当前页面数据资料显示数量及如何实现动态的翻转功能。
这里将介绍两种翻页显示功能的实现
先介绍一下在翻页中用到的数据库语法:
mysql_query("select * from table order by id desc");
这条数据库语句再熟悉不过了,是用来搜索记录并倒序地显示出来,但并不能在翻页功能中起作用,而下面这个扩展了的语法才是实现翻页的核心功能:
mysql_query("select * from table order by id desc limit $start,$limit");
这里的 $start 是数据库搜索的起始行,$limit 是从起始行开始搜索到 $limit 条记录结束,好了,有了这个核心功能后,我们可以开始翻页功能了。
第一种翻页功能:
这里介绍的功能是翻页功能中最简单的一种,只能实现向前翻页和向后翻页,本站的非常新闻和下载中心的翻页功能就是这种。
先介绍翻页功能实现的思路:


  
  • 先确定当前页固定显示的数据记录数量,假设为 20 条记录,设定 $limit 的值为 20: $limit=20;
      
  • 显示数据库记录时,必须是从第一条开始显示,所以这里设置 $start 的初始值为 0start=0;
      
  • 翻页功能的实现依赖 $start 的动态变化,当向后翻页时 $start 规律地加上 $limitstart+$limit;而向前翻页时 $start 则规律地减去 $limitstart-$limit;

    有了以上的思路后,可以开始设计程序了
    page.php:
    =0) {
    echo "[url=]prve[/url]";
    }
    //设置向后翻页的跳转
    $next=$start+$limit;
    if ($next
    一个前翻,后翻功能的程序完成了,但这个功能对处理更多资料显示时,将会显得很累赘.下面将会继续介绍功能更强大,更加复杂的翻页功能--循环翻页(我一直都这么叫,因为找不到更合适的叫法).
    前面介绍了简单的翻页功能实现,下面介绍的翻页功能更加强大,更加复杂,本站的非常论坛和非常文章就是使用这个循环翻页功能的.
    循环翻页是前翻后翻加上数字共同实现的,具体的表现形式为:
    页: prve > next
    里面的数字表示各当前的页面,前翻 prve 和后翻 next 已不仅仅是当前页的前后翻转,而是更加复杂的数字控制前后翻转。
    同以往一样,在进行程序设计之前,先理清一下思路,我建议读者在看完如何实现循环翻页的功能后,能自己动手实践一次,因为这里研究的一些方法和思路可能比较抽象。
    首先我们大胆假设数据库里存有超过1000 条的记录,我们希望当前显示 25 条记录,而数字翻转控制为 20,因此就有如下的显示结果:
    页: 0 1 2 3 ......... 19 >> next
    后翻后的显示结果:
    页: prve > next
    好,我们来看看其中的规律,一个固定的显示数字 25 ,一个固定的数字控制倍翻 20.我们可以利用这两个数字来实现循环翻页功能;
    首先设置固定显示的变量:
    $limit=20;
    数据库初始变量的设置:
    $start=0;
    数据库记录总数为:
    $num;
    页数变量page;
    一个页数循环显示的程序如下:
    0 && ($page%20)==0) {
    break; //退出循环
    }
    }
    ?>
    这段代码除了显示数字外,其它功能一概没有实现,因为多了数字控制翻转,所以必须要有几个变量来标记并识别这些控制量,这里用了$s 来标记,这个变量是用来控制数字循环翻页控制的,现在可以看看实现循环翻页的完整代码page.php:
    20) {
    if ($s==21) {
    $st=$s-21;
    } else {
    $st=$s-20;
    }
    $pstart=$st*$limit;
    echo "[td][url=]prve[/url][/td]";
    }
    echo "[td] >>[/td]";
    //设置当前页对应页数无链接功能
    $star=$start;
    //注意循环的初始附值,仔细想想为什么不是 0
    for ($page=$s;$page0 && ($page%20)==0) {
    if ($s==0) {
    $s=$s+21;
    } else {
    $s=$s+20;
    }
    $start=$start+$limit;
    if ((($num/$limit)-1)>$page) {
    echo "[td] next[/td]";
    }
    //注意跳出循环的控制
    break;
    }
    }
    echo "[/tr][/table]";
    ?>
    还有一个翻页功能就是提交翻页,即在提交表单添入数据提交,然后程序跳转到该对应页,这个功能实现起来比较简单,就留给读者自己完成。
    以上的程序已经可以完成强大的循环翻页功能,大家可以细细研究,真正做到学以致用。
                
                
    您可能感兴趣的文章:
  • php中文本数据翻页(留言本翻页)
  • 如何编写翻页函数?
  • 点图片上一页下一页翻页效果
  • PHP 翻页 实例代码
  • PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
  • php实现的仿阿里巴巴实现同类产品翻页
  • 在图片上显示左右箭头类似翻页的代码
  • 解析Android中实现滑动翻页之ViewFlipper的使用详解
  • 通过MySQL优化Discuz!的热帖翻页的技巧
  • MongoDB快速翻页的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端