首页 >php教程 >php手册 >php高手进阶:实现强大的翻页跳转功能

php高手进阶:实现强大的翻页跳转功能

WBOY
WBOY原创
2016-06-13 10:30:411437浏览


  我们都知道用 php(做为现在的主流开发语言)+MySQL(和PHP搭配之最佳组合) 在 web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下,页面的显示情况将会变的非常糟糕,下面就来介绍一下如何实现当前页面数据资料显示数量及如何实现动态的翻转功能.
  
  这里将介绍两种翻页显示功能的实现:
  -----------------------------------------------------------
  先介绍一下在翻页中用到的数据库语法:
  
  MySQL(和PHP搭配之最佳组合)_query("select * from table order by id desc");
  
  这条数据库语句再熟悉不过了,是用来搜索记录并倒序地显示出来,但并不能在翻页功能中起作用,而下面这个扩展了的语法才是实现翻页的核心功能:
  
  MySQL(和PHP搭配之最佳组合)_query("select * from table order by id desc limit $start,$limit");
  
  这里的 $start 是数据库搜索的起始行,$limit 是从起始行开始搜索到 $limit 条记录结束,好了,有了这个核心功能后,我们可以开始翻页功能了;
  -----------------------------------------------------------
  第一种翻页功能:
  这里介绍的功能是翻页功能中最简单的一种,只能实现向前翻页和向后翻页,本站的非常新闻和下载中心的翻页功能就是这种.
  
  先介绍翻页功能实现的思路:
  先确定当前页固定显示的数据记录数量,假设为 20 条记录,设定 $limit 的值为 20: $limit=20;
  
  显示数据库记录时,必须是从第一条开始显示,所以这里设置 $start 的初始值为 0:$start=0;
  
  而翻页功能的实现依赖 $start 的动态变化,当向后翻页时 $start 规律地加上 $limit:$start+$limit;而向前翻页时 $start 则规律地减去 $limit:$start-$limit;
  
  有了以上的思路后,可以开始设计程序了 page.php(做为现在的主流开发语言):
  
  //设置当前页显示的数量(这个数量可任意设置)
  $limit=20;
  
  //初始化数据库搜索起始记录
  if (!empty($start)) $start=0;
  
  MySQL(和PHP搭配之最佳组合)_connect("localhost","","");
  MySQL(和PHP搭配之最佳组合)_select_db(database);
  
  //设置数据库记录总数
  $result=MySQL(和PHP搭配之最佳组合)_query("select * from table");
  $num_max=MySQL(和PHP搭配之最佳组合)_numrows($result);
  
  $result=MySQL(和PHP搭配之最佳组合)_query("select * from table order by id desc limit $start,$limit);
  $num=MySQL(和PHP搭配之最佳组合)_numrows($result);
  
  echo "

";
  
  if (!empty($num)) {
  for ($i=0;$i  $val=MySQL(和PHP搭配之最佳组合)_result($result,$i,"val");
  $val1=MySQL(和PHP搭配之最佳组合)_result($result,$i,"val1");
  echo "";
  }
  }
  
  echo "
翻页功能
$val $val1
";
  
  //设置向前翻页的跳转
  $prve=$start-$limit;
  if ($prve>=0) {
  echo "prve";
  }
  
  //设置向后翻页的跳转
  $next=$start+$limit;
  if ($next  echo "next";
  }
  
  echo "
";
  ?>
  
  一个前翻,后翻功能的程序完成了.但这个功能对处理更多资料显示时,将会显得很累赘.下面将会继续介绍功能更强大,更加复杂的翻页功能--循环翻页(我一直都这么叫,因为找不到更合适的叫法).^o^
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn