繁体   English   中英

经典ASP中循环中的动态变量

[英]Dynamic variables in a loop in Classic ASP

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

我通过以下简单的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;

这将返回没有标题的后退。

然后,我遍历记录,并出于本示例的目的,显示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")

那可能吗?

您可以在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM