All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
利用Ajax传递Xml文档_JavaScript技术_编程技术
安全攻略:PHP脚本木马的高级防范_php资料_编程技术
asp.net2.0实现邮件发送(成功测试)_[Asp.Net教程]
sql删除记录_[SQL,Server教程]
新瓶旧酒ASP.NET,AJAX(7),-,客户端脚本编程(Sys命名空间下的类)_[Asp.Net教程]
大型系统上PHP令人不爽的九大原因_php资料_编程技术
ASP.NET技巧:將datagrid控件內容輸出到excel文件_[Asp.Net教程]
ASP.NET中如何从视频文件中抓取一桢并生成图像文件_.net资料_编程技术
PHPUnit袖珍指南之命令行测试工具_[PHP教程]
你必须知道的.NET之特性和属性_[Asp.Net教程]
Reading number is top 10 pictures
西班牙山村小景4
日本小萝莉2
人美胸美腿更美1
BingBingFan apple dew point photo gallery2
Absolutely shocked. National geographic 50 animal photographys3
The mother was a stay-at-home children too tired took three baby suicide
鸡蛋的新玩法
来几张有特色的图片
性感丰满身材火爆de美女1
全身蕾丝丝质美臀
Download software ranking
软件工程思想
Tram sex maniac 2 (H) rar bag1
卡丁车单机版
株洲本地在线棋牌游戏
WebService在.NET中的实战应用教学视频 → 第1集
WebService在.NET中的实战应用教学视频 → 第3集
Unix video tutorial3
中国结婚习俗实录
Boxer's Top ten classic battle5
美女写真1
归海一刀 published in(发表于) 2014/2/17 7:26:19 Edit(编辑)
PHP分页实例:用PHP实现网页开发中的翻页跳转_[PHP教程]

PHP分页实例:用PHP实现网页开发中的翻页跳转_[PHP教程]

PHP分页实例:用PHP实现网页开发中的翻页跳转_[PHP教程]

  我们都知道用 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 的初始值为 0:start=0;


  而翻页功能的实现依赖 start 的动态变化,当向后翻页时 start 规律地加上 limit:start+limit;而向前翻页时 start 则规律地减去 limit:start-limit;


  有了以上的思路后,可以开始设计程序了 page.php:


//设置当前页显示的数量(这个数量可任意设置)
limit=20;
//初始化数据库搜索起始记录
if (!empty(start)) start=0;
mysql_connect("localhost","","");
mysql_select_db(database);
//设置数据库记录总数
result=mysql_query("select * from table");
num_max=mysql_numrows(result);
result=mysql_query("select * from table order by id desc limit start,limit);
num=mysql_numrows(result);
echo "
翻页功能
";
if (!empty(num)) {
for (i=0;ival=mysql_result(result,i,"val");
val1=mysql_result(result,i,"val1");
echo "
val
val1
";
}
}
echo "
";
//设置向前翻页的跳转
prve=start-limit;
if (prve>=0) {
echo "prve";
}
//设置向后翻页的跳转
next=start+limit;
if (nextecho "next";
}
echo "
";
?>


  一个前翻,后翻功能的程序完成了.但这个功能对处理更多资料显示时,将会显得很累赘.下面将会继续介绍功能更强大,更加复杂的翻页功能--循环翻页(我一直都这么叫,因为找不到更合适的叫法).:)


  前面介绍了简单的翻页功能实现,下面介绍的翻页功能更加强大,更加复杂,本站的非常论坛和非常文章就是使用这个循环翻页功能的. 循环翻页是前翻后翻加上数字共同实现的,具体的表现形式为:


  页: prve <<1 2 3 4 ....... 20 >> next


  里面的数字表示各当前的页面,前翻 prve 和后翻 next 已不仅仅是当前页的前后翻转,而是更加复杂的数字控制前后翻转.


  同以往一样,在进行程序设计之前,先理清一下思路,我建议读者在看完如何实现循环翻页的功能后,能自己动手实践一次,因为这里研究的一些方法和思路可能比较抽象.


  首先我们大胆假设数据库里存有超过 1000 条的记录,我们希望当前显示 25 条记录,而数字翻转控制为 20,因此就有如下的显示结果:


  页: 0 1 2 3 ......... 19 >> next


  后翻后的显示结果:


  页: prve <<20 27 28 ....... 49 >> next


  好,我们来看看其中的规律,一个固定的显示数字 25 ,一个固定的数字控制倍翻 20.我们可以利用这两个数字来实现循环翻页功能;


首先设置固定显示的变量:
limit=20;
数据库初始变量的设置:
start=0;
数据库记录总数为:num;
页数变量:page;


一个页数循环显示的程序如下:


...
result=mysql_query("select * from table");
num=mysql_numrows(result);
for (page=0;page<(num/limit);page++) {
echo page;
if (page>0 && (page%20)==0) {
break; //退出循环
}
}
?>


  这段代码除了显示数字外,其它功能一概没有实现,因为多了数字控制翻转,所以必须要有几个变量来标记并识别这些控制量,这里用了 s 来标记;这个变量是用来控制数字循环翻页控制的,现在可以看看实现循环翻页的完整代码 page.php:


limit=25;
if (!empty(start)) start=0;
if (!empty(s)) s=0;
mysql_connect("localhost","","");
mysql_select_db(database);
//统计数据库记录总数
result=mysql_query("select * from table");
num=mysql_numrows(result);
result=mysql_query("select * from table order by id limit start,limit");
numb=mysql_numrows(result);
echo "
";
if (!empty(numb)) {
for(i=0;ival=mysql_result(result,i,"val");
val1=mysql_result(result,i,"val1");
echo "
val
val1
";
}
}
echo "
";
//数字循环翻页的控制
echo "
";
echo "
页:
";
//前翻控制
if (s>20) {
if (s==21) {
st=s-21;
} else {
st=s-20;
}
pstart=st*limit;
echo "
echo "start=pstart&s=st>prve
";
}
echo "
>>
";
//设置当前页对应页数无链接功能
star=start;
//注意循环的初始附值,仔细想想为什么不是 0
for (page=s;page<(num/limit);page++) {
start=page*limit;
echo "
";
if(page!=star/limit) {
echo "echo "start=start&s=s>";
}
echo page;
if(page!=star/limit) {
echo "
";
}
echo "
";
//控制数字页面限制显示功能,控制只显示 20 页
if (page>0 && (page%20)==0) {
if (s==0) {
s=s+21;
} else {
s=s+20;
}
start=start+limit;
if (((num/limit)-1)>page) {
echo "
<<
echo "start=start&s=s>next
";
}
//注意跳出循环的控制
break;
}
}
echo "
";
?>


  以上的程已序可以完成强大的循环翻页功能.


  还有一个翻页功能就是提交翻页,即在提交表单添入数据提交,然后程序跳转到该对应页,这个功能实现起来比较简单,就留给读者自己完成,这里不再介绍...







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.