ASP ACCESS 按汉字拼音查找与排序 By Stabx, 第三版

原创 2006年06月04日 22:01:00
标题: ASP ACCESS 按汉字拼音查找与排序 By Stabx, 第三版

正文:

QUOTE:

ASP ACCESS Pinyin ORDER BY SHAWL.QIU

本版实现了上一修正版未实现的功能, 就是整合 URL 查询参数, 现在合了. 
使用 select case 实现.

功能:
1. 实现了一个也不能少的按照字母 查找汉字与英文
2. 只按数字查找
3. 查找不属于 汉字,英文,数字 的数据
4. 升序或降序查看, 升序查看为 英文在前, 降序查看为 汉字在前

查询 URL 如:
./array_py5.asp?sortby=letterfirst&showby=B
./array_py5.asp?sortby=letterfirst&showby=0
./array_py5.asp?sortby=letterfirst&showby=other

页面导航:

CODE:
shawl.qiu<shawl.qiuATgmail.com>
绿色学院 | http://blog.csdn.net/btbtd/
2006-6-4

first sort: by letter, by Pinyin

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 

0 1 2 3 4 5 6 7 8 9 other

CODE:

<%'shawl.qiu code | <shawl.qiuATgmail.com> | 绿色学院 | http://blog.csdn.net/btbtd/
        sortby_=request("sortby"):showby_=request("showby")
    if showby_="" then showby_="A" end if
    if sortby_<>"" then
        if sortby_="letterfirst" then
            orderby_="asc"
        else orderby_="desc"
        end if
    else sortby_="letterfirst":orderby_="asc"
    end if
        
    select case showby_
        case "A"
            py=array("A","阿","八")
        case "B"
            py=array("B","八","擦")
        case "C"
            py=array("C","擦","搭")
        case "D"
            py=array("D","搭","鹅")
        case "E"
            py=array("E","鹅","发")
        case "F"
            py=array("F","发","嘎")
        case "G"
            py=array("G","嘎","哈")
        case "H"
            py=array("H","哈","机")
        case "I"
            py=array("I","I","I")
        case "J"
            py=array("J","机","咖")
        case "K"
            py=array("K","咖","拉")
        case "L"
            py=array("L","拉","呣")
        case "M"
            py=array("M","呣","嗯")
        case "N"
            py=array("N","嗯","哦")
        case "O"
            py=array("O","哦","怕")
        case "P"
            py=array("P","怕","七")
        case "Q"
            py=array("Q","七","然")
        case "R"
            py=array("R","然","撒")
        case "S"
            py=array("S","撒","他")
        case "T"
            py=array("T","他","挖")
        case "U"
            py=array("U","U","U")
        case "V"
            py=array("V","V","V")
        case "W"
            py=array("W","挖","西")
        case "X"
            py=array("X","西","呀")
        case "Y"
            py=array("Y","呀","匝")
        case "Z"
            py=array("Z","匝","做祚")
    end select
    
        response.write "first sort: <a href=""?sortby=letterfirst&amp;"
        response.write "showby="
        response.write showby_
        response.write """>by letter</a>, <a href=""?sortby=hanzifirst&amp;"
        response.write "showby="
        response.write showby_
        response.write """>by Pinyin</a><p/>"
    
        letters="A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" 
        numbers="0 1 2 3 4 5 6 7 8 9"
        
    for  each letter in split(letters)
        response.write "<a href=""?sortby="
        response.write sortby_
        response.write "&amp;showby="
        response.write letter
        response.write """>"
        response.write letter
        response.write "</a> "
    next
        response.write "<p/>"
    for  each number in split(numbers)
        response.write "<a href=""?sortby="
        response.write sortby_
        response.write "&amp;showby="
        response.write number
        response.write """>"
        response.write number
        response.write "</a> "
    next
        response.write "<a href=""?sortby="
        response.write sortby_
        response.write "&amp;showby=other"">other</a> "
        response.write "<p/>"
        
    if  cstr(showby_)>cstr(9) and cstr(showby_)<>"other"  then
        sql="select * from ctarticle where (title between '"&py(1)&"' and '"&py(2)&"') or title like '"&_
        py(0)&"%'  order by title "&orderby_
    elseif cstr(showby_)="other" then
        sql="select * from ctarticle where (title not between '阿' and '做祚') and title like '[!a-z0-9]%'  order by title "&orderby_
    else sql="select * from ctarticle where title like '"&showby_&"%' order by title "&orderby_
    end if
    
    set rs=server.CreateObject("adodb.recordset") 
        rs.open sql,MM_conn_string,1
            response.write  rs.recordcount
            response.write "<p/><ol>"
        do while not rs.eof 
            response.write "<li> "
            response.write rs("title")
            response.write "</li>"
            rs.movenext
        loop
            response.write "</ol>"
        rs.close 
    set rs=nothing  
%>

ASP ACCESS 按汉字拼音查找与排序, 最终修正版 By Stabx

  • btbtd
  • btbtd
  • 2006年05月28日 13:58
  • 2843

ASP ACCESS 按汉字拼音查找与排序 By Stabx, 第三版

/*
  • btbtd
  • btbtd
  • 2006年06月04日 22:01
  • 2416

ASP ACCESS 按汉字拼音查找与排序 By Stabx, 第三版

/*
  • btbtd
  • btbtd
  • 2006年06月04日 22:01
  • 2416

2006-5-20 ASP ACCESS 按汉字拼音查找与排序, 大结 —— By Stabx

  • btbtd
  • btbtd
  • 2006年05月20日 13:11
  • 1948

2006-5-20 ASP ACCESS 数据检索, 按拼音查找变态法 By Stabx

  • btbtd
  • btbtd
  • 2006年05月20日 00:51
  • 1284

asp.net汉字转拼音和获取汉字首字母的代码

using System; using System.Data; using System.Configuration; using System.Text; ///  ///...
  • hoiven
  • hoiven
  • 2016年05月06日 16:07
  • 14702

Oracle数据库按中文拼音排序问题,NLS_SORT设置

Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。 1、设置NLS_SORT参数值       SCHINESE_RADICAL_M 按...
  • e_wsq
  • e_wsq
  • 2011年11月24日 20:23
  • 1300

sql语句按照汉字拼音首字母排序

oracle : 在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINES...
  • fygkchina
  • fygkchina
  • 2015年11月18日 16:17
  • 1169

ACCESS+ASP 实现数据随机排序

在网上搜了一下,也没有找到比较有建设性的解决方案,大多数都是建议用SQL语句查询出全部记录, 在SQL Server中想进行随机排序(随机取N条记录)只需要简单地加个“Order By Rnd()"...
  • qlblue
  • qlblue
  • 2013年02月23日 08:33
  • 226

汉字拼音对照表

啊a阿a呵a吖a嗄a腌a锕a爱ai矮ai挨ai哎ai碍ai癌ai艾ai唉ai哀ai蔼ai隘ai埃ai皑ai呆ai嗌ai嫒ai瑷ai暧ai捱ai砹ai嗳ai锿ai霭ai按an安an暗an岸an俺an案a...
  • hwman
  • hwman
  • 2004年06月25日 22:25
  • 9512
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP ACCESS 按汉字拼音查找与排序 By Stabx, 第三版
举报原因:
原因补充:

(最多只允许输入30个字)