列表记录集按字母顺序分组

时间:2011-08-10 11:18:00

标签: jquery mysql asp-classic

我正在为使用ASP和MySQL的客户创建一个希伯来语词汇表页面。 我想创建一个记录集,然后遍历结果,按第一个字母分组,每个字母都有自己的标题......就像这样:

一个
苹果
阿瓦克


舱底
甲虫

etcetc

任何人都可以建议这样做的好方法吗? 我找到了一个完美(自动)的jquery插件:http://www.ihwy.com/Labs/Demos/Current/jquery-listnav-plugin.aspx 我唯一的问题是它对希伯来字符根本不起作用。

那么,有什么建议吗?

2 个答案:

答案 0 :(得分:2)

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

<%
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
%>

答案 1 :(得分:0)

我必须做类似的事情。我不知道ASP但是在PHP中我使用了一个简单的数组

$r = mysql_query( ' select * from table ' );

$array = array();

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

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

}

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

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