日期:2014-05-16  浏览次数:21086 次

关于数组的应用问题
因为只操作过“一维数组”,所以对于“二维数组”(或者说数组集不太了解),来问问。

表内容循环读取后界面如下
-------------------------------------------
ID        电话        姓名        地址
101       131       张三        北京       这是多选框checkbox
102       132       李四        上海       这是多选框checkbox
103       133       王五        深圳       这是多选框checkbox

这是下拉框
-------------------------------------------

最右边有个多选框checkbox,name="数组集" value="ID,电话,姓名,地址"(数组)

最下面有个下拉框,里面有一些值,name="bookname",value是一些书籍名称(比如书A,书B,书C等等)

想要达成的效果:
1、勾选后,将记录添加到表table中。
2、因为是个多选框checkbox,所以是添加多条记录。

如果勾选第一和第三行,并在下拉框中选中书A,执行添加后表table效果如下:
1   101   131   张三   北京   书A
2   103   133   王五   深圳   书A

操作时,"数组集"这个变量选中第一和第三后
值应该是 " '101,131,张三,北京','103,133,王五,深圳' " 这个样子

如果是个一维数组,执行页面应该下面这样来循环显示(或者在其中加入执行的sql语句)
<%for i=0 to ubound(split(一维数组,','))%>
<%=split(一维数组,",")(i)%>
<%next%>

但是二维数组(或者说数组集)确实不太懂了。

请哪位能给个例子么?


------解决方案--------------------
<%..%>内部就是服务端语言,按服务端语言格式写就行了,如:

<%for i=0 to ubound(split(二维数组,';'))%>
  <%Dim 一维数组=split(二维数组,";")(i)%>
  <%for j=0 to ubound(split(一维数组,',')%>
    <%=split(一维数组,",")(j)%>
  <%next%>
<%next%>
原理就是这样,语法错误处自己改
------解决方案--------------------
你这个操作和二维数组没上面大关系,其实还是1维数组,只是1维数组存储的是用,分隔开的内容而已。

大概写了个,自己参考改动
arrcount=request.Form("数组集").count'得到勾选的数组集的数量
bookname=request.Form("bookname")
'ID,电话,姓名,地址
for i=1 to arrcount
'通过item属性得到每项的值,然后才分开得到联系人的信息,item下标从1开始,数组是从0,这个要注意
  arr=split(request.Form("数组集").item(1),",")
  rs.addnew
  rs("id")=arr(0)
  rs("电话")=arr(1)
  rs("姓名")=arr(2)
  rs("地址")=arr(3)
  rs("bookname")=bookname
   rs.update
next