首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >列出按字母顺序分组的记录集

列出按字母顺序分组的记录集
EN

Stack Overflow用户
提问于 2011-08-10 19:18:00
回答 2查看 328关注 0票数 1

我正在使用ASP和MySQL为客户端创建一个希伯来语术语表页面。我想创建一个记录集,然后循环结果,按第一个字母分组,每个结果都有自己的标题……如下所示:

一个

苹果

鳄梨

类人猿

B

舱底

甲虫

等等

有没有人能推荐一个好的方法呢?我确实找到了一个完美的(而且是自动的) jquery插件:http://www.ihwy.com/Labs/Demos/Current/jquery-listnav-plugin.aspx,我唯一的问题是它根本不能处理希伯来语字符。

那么,有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-10 22:24:23

您不需要对数据进行分组,只需以这种方式循环数据即可。相应地调整以适合您的数据库字段:

代码语言:javascript
运行
复制
<%
set conn = server.createobject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "Select * FROM myTable order by Term asc",conn,3,3
lastLetter = "" 

do while not RS.eof
        firstLetter = left(RS("Term"),1)
        if lastLetter <> firstLetter then
            response.write("<b>" & firstLetter & "</b><br />"
        end if
        resonse.write(RS("Term")&"<br />"
        lastLetter = firstLetter
RS.movenext
loop
%>
票数 2
EN

Stack Overflow用户

发布于 2011-08-10 20:02:43

我不得不做一些类似的事情。我不知道ASP,但在PHP中我使用了一个简单的数组,如下所示

代码语言:javascript
运行
复制
$r = mysql_query( ' select * from table ' );

$array = array();

while( $row = mysql_fetch_assoc( $r ) ) {

  $array[strtolower(substr($row['name'],0,1))][] = $row;

}

这将创建一个具有嵌套数组的数组。最高数组的键是name列的第一个字母。然后其中的每一个都有一个包含行的嵌套数组。

毫无疑问,你可以在ASP中做同样的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7009909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档