Classic ASP中循环中的动态变量

时间:2015-12-31 14:32:48

标签: asp-classic

我有一个简单的表单,它从相关描述表中没有标题的记录数据库中获取详细信息。

我通过这个简单的SQL选择选择记录:

    SELECT zz_item.photoID 
      FROM zz_item JOIN j_p3 ON zz_item.photoID = j_p3.photoID
 LEFT JOIN zz_description ON zz_item.photoID = zz_description.photoID 
      WHERE zz_item.photoShow = 1 
        AND zz_description.photoTitle IS NULL 
   ORDER BY zz_item.photoID DESC 
      LIMIT 2;

这会返回没有标题的recrods。

然后我遍历记录,为了这个例子的目的,显示2条没有标题的记录。

表单数据如下所示:

<form action="load-photos-info.asp" method="post">

    <input type="hidden" name="process" value="go" />
    <input type="hidden" name="MyIDs" value="2082,2081" />

    <input type="hidden" name="id-2082" value="2082" />
    <input class="form-control" type="text" name="title-2082" />
    <textarea class="form-control" name="description-2082" /></textarea>

    <input type="hidden" name="id-2081" value="2081" />
    <input class="form-control" type="text" name="title-2081" />
    <textarea class="form-control" name="description-2081" /></textarea>

    <button type="submit" id="doForm" class="btn btn-success">Save</button>
</form>

我在MyIDs隐藏表单字段中保存要处理的ID。

当表单发布时,我想我可以通过以下方式将MyID切换成单独的记录来遍历记录:

<%
process = request.form("process")
if process = "go" then

    MyIDs = request.form("MyIDs")

    MyFormArray = Split(MyIDs, ",")

    For i = 0 to UBound(MyFormArray)

        LoopID = MyFormArray(i)
        response.write LoopID & "<hr>"

    Next

end if
%>

这可以证明我可以访问各个ID,但是我无法弄清楚如何使用循环或数组等来访问每个ID的标题和描述表单字段值。

我想我需要使用动态变量名称 - 例如第一次循环通过这样的事情:

title = request.form("title-2081")
descr = request.form("description-2081")

然后下一次循环,我正在访问的变量必须是:

title = request.form("title-2082")
descr = request.form("description-2082")

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以在Request.Form()

中使用变量
For i = 0 to UBound(MyFormArray)
    LoopID = Trim(MyFormArray(i))
    Title(i) = Request.Form("title-" & LoopID)
    Description(i) = Request.Form("description-" & LoopID)
Next