8.3.7 数据列表的排序
在显示数据列表时,通常是在SQL语句中实现固定排序的。本节讲述这种在列表中实现动态排序的方法,用户单击列表上的提示以后,可以使列表中的数据按照这一字段进行排序。在这个程序中,重点内容是排序的算法和分页链接的动态生成。网页的代码如下所示。
代码8-23 查找与排序(\源文件\08\list.php)
1. <html> |
这一段代码,主要是根据URL中不同的“orderby”参数生成不同的排序方式。主要的代码功能如下所示。
代码从第12行开始,构造SQL语句。这个SQL语句不是一次写出的,而是根据不同的参数进行不同的构造。
第13行用$_GET获取URL的orderby参数,赋值给$orderby。
第14行对$orderby进行switch语句条件判断,根据不同的$orderby的值,生成不同的SQL语句。这里是合并不同的排序字段。第16行和第17行,是在$orderby为空时,按照id进行排序。每一种匹配后面需要有一个break语句中断后面语句的执行。
第27行,SQL语句后面加上“ limit 8”,表示最多返回8条记录。第28行进行数据查询,返回的记录集赋值给$rs。
29. echo "<table width=300 border=1 align=center>"; //开始输出表格 |
这一段代码是在数据列表中根据不同的$orderby变量,生成不同的提示链接,实现排序功能。代码的主要功能如下所示。
第29行开始输出表格。第30行开始输出一个链接。根据$orderby不同的值,对URL中的orderby进行不同的赋值。这样,当每次单击这个链接时,会更改URL中的orderby的值。
第37行,用另一个if判断语句,生成“班级名称”的排序链接。
42. while($row=mysql_fetch_array($rs)) |
在这段代码中,用mysql_fetch_array函数,对记录集中的数据依次取得一行,返回数组赋值给$row。然后$row作为while循环的条件,循环生成表格的行和列。
运行这个网页,效果如图8.7所示。在网页中,单击“ID”和“班级名称”两个链接时,可以实现数据列表排序的改变,如图8.8所示。
|
| 图8.7 数据列表 |
|
| 图8.8 数据列表中的排序 |
| 回书目 上一节 下一节 |
|
· 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. |
· 08年4月各大网上书店及.. · 系统分析师自测获奖名.. · Linux结课考试自测获奖.. · 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. · 全国计算机等考四级模.. |
|
||||
| · 充电计划之热门IT认证.. · 勇闯IT培训黑色围城 · 如何有效防御SQL注入攻.. · 2008年上半年全国软考.. · 选择适合自己的IT认证 · IPv6协议--拓展网络无.. · 了解统一威胁管理(UTM).. · 调查:十大发现 解秘技.. |
· 技术人求职简历完备手册 · Vista SP1对决XP SP3 · 运营商封堵ADSL共享 中.. · LAMP技术精解 · PHP开发应用手册 · 解析35岁技术人的价值.. · 汶川大地震 IT技术人在.. · SOA 面向服务架构 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 |
· Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 · 打造安全服务器 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. |
|||
|
||||
| · iSCSI应用与发展 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · iSCSI应用与发展 · 三层交换技术专题 · Apache技术专题 |
· RAID——磁盘阵列基础 · 企业数据恢复指南 · 路由器设置与口令恢复 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · PHP开发应用手册 |
|||