我们在ASP网站源码开发中,往往会遇到分组的需求,正常用sql语句中的order by就可以解决。
我今天要给大家介绍的需求案例,是我们是实际应用中经常碰到的。
需求:应用场景是一个图书管理系统,比如有100个作者,每个作者可能对应了若干个书名。要求按作者分类,分两列显示,一列是作者名,另一列是作者对应的书名,同一个作者只能在第一次出现,不同的作者之间用线隔开。
通过上图可以看到,这是一对多的asp分组显示问题,首先我们要考虑sql语句该怎么写。作者名字如何只能出现一次?
经过整理,于是就有了下面代码:
假如有一张表book,里面有两个字段:author、bookname,分别代表作者和图书名。
<% sql="select author,bookname from book order by author" rs.open sql,conn,1,1 if not rs.EOF then do while NOT rs.EOF if author <> rs("author") then author=rs("author") Response.write("--------------------<br>") Response.write(author&" "&rs("bookname")&"<br>") else Response.write(rs("bookname")&"<br>") end if rs.MoveNext loop end if %>
上面的代码利用判断语句实现了同一个作者只出现一次,不同作者之间有分隔符相隔,每个作者后对应着多个书名。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/287.html