欢迎光临
我们一直在努力

介绍一个制作下拉菜单完全不同的办法

建站超值云服务器,限时71元/月

我是头一回知道这个方法,以前从没听用过,以前如果我从数据库里读出内容来制作下拉菜单的话都是用循环来做的,现在,让我们来看一下老外的办法。

利用recordset.getstring来制作动态下拉菜单。

adodb.recordset的getstring方法有一些bug,但是你使用得小心一点的话它可以为您工作的很好。

先介绍一下getstring的用法……如下:

stringvalue = rsobject.getstring( format, numrows, columndelimiter, rowdelimiter, ifnull )

只要建立了rs对象,并且执行了相应操作,不管那是返回一条或者多条记录,甚至是空记录,getstring照样工作,但是如果不加注意的话,这个结果可能就不大好玩了,:p(这个老外也够幽默的)

format参数只有一个合法值,而且是可选的,让我们略过不管它,如果您想返回全部记录的话,那么那个numrows参数也可以不管它了(可选),ifnull……照我的理解就象tsql里的isnull函数差不多,如果是null,则随便搞个值替换它,所以也不管它。

剩下两个参数了。。。。不多说废话了,先看他们的例子

<table border=1>

<tr><td>

<% = response.write rs.getstring( , , "</td><td>", "</td></tr><tr>", ) %>

</table>

这样写的html结果如下:

<table border=1>

<tr>

<td>row1, field1 value</td>

<td>row1, field2 value</td>

</tr>

<tr>

<td>row2, field1 value</td>

<td>row2, field2 value</td>

</tr>

<tr>

</table>

这个也是老外口中说的那个bug了,让我们看一下具体怎么做的

<%

set rs = conn.execute("select thevalue,thetext from selectoptionstable order by thetext")

optsuffix = "</option>" & vbnewline

valprefix = "<option value="

valsuffix = ">"

opts = rs.getstring( , , valsuffix, optsuffix & valprefix, "–error–" )

next line is the key to it!

opts = left( opts, len(opts)-len(valprefix) )

response.write "<select …>" & vbnewline

response.write valprefix & opts

response.write "</select>"

%>

你用过这种方法么,实话,我可从没见过,也没听有人说起,:(

附带一下,您如果想建立一个正确的表格的话,也就是我头上说的那个bug,只要这样做就可以了:

<%

set rs = conn.execute("select * from table")

tdsuffix = "</td>" & vbnewline & "<td>

trprefix = "<tr>" & vbnewline & "<td>"

trsuffix = "</td>" & vbnewline & "</tr>" & vbnewline & "<tr>" & vbnewline

opts = rs.getstring( , , tdsuffix, trsuffix & trprefix, "–error–" )

next line is the key to it!

opts = left( opts, len(opts)-len(trprefix) )

response.write "<table border=1 cellpadding=5>" & vbnewline

response.write trprefix & opts

response.write "</table>" & vbnewline

%>

————————————————————————

再介绍一个完全不同的办法。。。(我看了快昏倒)

<%

sql = "select <option value=,value,>,text,</option> from table order by text"

set rs = conn.execute(sql)

response.write "<select>" & vbnewline & rs.getstring(,,"",vbnewline) & "</select>"

%>

你用过吗。。。

看到了吗?可以直接从查询中返回结果。

再进一步,您可以这样做(access下我试过)

<%

sql = "select <option value= & value & > & text & </option> from table order by text"

set rs = conn.execute(sql)

response.write "<select>" & vbnewline & rs.getstring(,,"",vbnewline) & "</select>"

%>

……………………

:(

不多说了

希望能对你有所帮助

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 介绍一个制作下拉菜单完全不同的办法
分享到: 更多 (0)