NoahWeb
在线搜索
NoahWeb.net | 开发者交流中心 | 支持 | 文档 | 反馈缺陷 

表示层标签 NoahLoop

  根据指定的数据库返回集行数产生一个循环进行循环输出。

 

说明

语法:

<!-- NoahLoopStart SQLLinkId="" AutoMode="" AutoReset="" NewRunMode="" -->

<!-- NoahLoopEnd -->

必要参数:

SQLLinkId
AutoMode
AutoReset
NewRunMode


标签和参数说明:

开始标签

<!-- NoahLoopStart SQLLinkId="" AutoMode="" AutoReset="" NewRunMode="" -->

结束标签 <!-- NoahLoopEnd -->
参数:SQLLinkId

循环将调用的预定义好的查询集中数据库操作的名字。

调用当前名称空间下的操作直接使用操作名,如:"memeber_S_Listall"

调用其他名称空间下的操作可以使用"名称空间.操作名"的格式来书写,如:"siteroot.memeber_S_Listall"

参数:AutoMode 表示该数据库操作在遇到此标签的时候如果没有执行过是否自动运行。设置为“True”则自动执行,设置为“False”将不自动执行。
参数:AutoReset 表示如果该数据库操作在进行过程中被中断或是重新循环调用,自动索引的行指针是否重新复位从零行记录开始循环。设置为“True”则复位,设置成“False”则不复位
参数:NewRunMode 表示该数据库操作只能被执行一次,当一个NoahLoop标签被嵌套到另一个NoahLoop标签内时,如果内层的数据库操作需要每次被外层的数据库操作循环调用时进行一次新的查询,则该标签NewRunMode属性应被置为“True”,否则则置为“False”,此时每次调用该标签,每次都会返回该标签内数据库操作第一次运行后返回的结果。

 

内容说明

  根据标签内的数据库返回集在页面进行循环输出。

示例

<table>

<!-- NoahLoopStart SQLLinkId="noah_master_class_column_S_findoneid" AutoMode="True" AutoReset="True" NewRunMode="True" Value="[_SESSION.id]" -->

<tr>

<td><font color=red><!-- NoahValue ValueName="[_LOOP.*.name]" --></font></td>

</tr>

<!-- NoahLoopEnd -->

</table>

 

示例说明

  上面代码表示对数据库操作noah_master_class_column_S_findoneid的返回结果将每一行的字段“name”的值以表格的方式循环输出在页面。


 

示例

<table width="100%" border="1" cellspacing="0" cellpadding="2">

<tr>
<td>序号</td>
<td>ID([_LOOP.*.id])</td>
<td>名字([_LOOP.*.name])</td>
</tr>
<!-- NoahLoopStart SQLLinkId="TestTable_S_listall" AutoMode="True" AutoReset="True" NewRunMode="False" -->
<tr>
<td>&nbsp;<!-- NoahValue ValueName="SqlNow('TestTable_S_listall')" MaxChar="" DChar="" Safety="False" --></td>
<td>&nbsp;<!-- NoahValue ValueName="[_LOOP.*.id]" MaxChar="" DChar="" Safety="False" --></td>
<td>&nbsp;<!-- NoahValue ValueName="[_LOOP.*.name]" MaxChar="" DChar="" Safety="False" --></td>
</tr>
<!-- NoahLoopEnd -->
</table>

 

示例输出

序号 ID([_LOOP.*.id]) 名字([_LOOP.*.name])
 0  1  a1
 1  2  a2
 2  3  a3
 3  4  a4
 4  5  a
 5  6  a
 6  7  a
 7  8  a
 8  9  dd
 9  10  dd
 10  11  dd
 11  12  a
 12  13  dd
 13  14  a
 14  15  a14
 15  16  a15
 16  17  a16
 17  18  a17
 18  19  a18
 19  20  a19
 20  21  a20


 

示例

<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>序号</td>
<td>ID([_LOOP.*.id])</td>
<td>名字([_LOOP.*.name])</td>
</tr>
<!-- NoahLoopStart SQLLinkId="IndexRootTable_S_ListAll" AutoMode="True" AutoReset="True" NewRunMode="False" -->
<tr>
<td>&nbsp;<!-- NoahValue ValueName="SqlNow('IndexRootTable_S_ListAll')" MaxChar="" DChar="" Safety="False" --></td>
<td>&nbsp;<!-- NoahValue ValueName="[_LOOP.*.id]" MaxChar="" DChar="" Safety="False" --></td>
<td>&nbsp;<!-- NoahValue ValueName="[_LOOP.*.name]" MaxChar="" DChar="" Safety="False" -->
<!-- NoahComment 变量索引0为传递给此查询中声明的局部变量pointid所接收的值 -->
<!-- NoahLoopStart SQLLinkId="IndexContentTable_S_ByRootid" AutoMode="True" AutoReset="True" NewRunMode="True" Value="[_LOOP.*.id]" -->
<table width="100%" border="1" cellspacing="2" cellpadding="0">
<tr>
<td>&nbsp;<!-- NoahValue ValueName="[_LOOP.*.mysubject]" MaxChar="" DChar="" Safety="False" --></td>
</tr>
</table>
<!-- NoahLoopEnd -->
</td>
</tr><!-- NoahLoopEnd -->
</table>

 

示例说明

  上为LOOP循环嵌套使用的示例,当一个LOOP被嵌套在另一个LOOP中使用时,而且被嵌套的LOOP需要根据上一个LOOP循环后变更的值进行新的查询,这样的情况必须设置被嵌套LOOP中的NewRunMode="True"

示例输出

序号 ID([_LOOP.*.id]) 名字([_LOOP.*.name])
 0  1  A分类
 A-1
 A-2
 A-3
 1  2  B分类
 B-1
 B-2
 B-3
 2  3  C分类
 C-1
 C-2

 

 

参考
 

 

 

 

查看NoahWeb在线手册

Copyright © 2001-2004 The NoahWeb Corporation
All rights reserved.