关于数组的应用问题
因为只操作过“一维数组”,所以对于“二维数组”(或者说数组集不太了解),来问问。
表内容循环读取后界面如下
-------------------------------------------
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