php 重复区域,6.2.3 重复区域

6.2.3  重复区域

现在遇到了一个很严重的问题:刚才我们只能看到记录集中的第1条记录,那后面的记录怎么显示出来呢?Dreamweaver提供了【重复区域】及【记录集分页】的功能,只需要鼠标拖动就可以实现这个功能。

选取需要重复的部分,即表格中的第2行,如图6-23所示,然后在【服务器行为】面板中单击【+】按钮,从弹出的下拉菜单中选择【重复区域】如图6-24所示。

a83f506bfc44ec96746366c1f5e27b1f.png

图6-23  选取表格第2行

8962f11bc6a3cabc678816d2f8c931a6.png

图6-24  选择重复区域

之所以要确认选取的标签为

,是因为重复区域会使用【do…while】循环包围所作用的范围。而我们需要重复的仅是第2行的表格,在HTML中表格的行是使用 标签。确认选取的标签正确,执行时才不会发生错误。

此时会弹出一个窗口(见图6-25),要求我们选择要重复记录的记录集,以及需要重复几条记录或显示全部记录。现在我们只建立了一个记录集,但日后若页面上有多个记录集时,就要注意别选错了。

同样地选择【活动数据视图】,这时就可以看到原来只有两行的表格已经增长到11行(见图6-26),而记录集内的前10条记录都显示在页面上了。

2cfb78de60f4dcc22975e924043e739b.png

6-25  设置重复区域

c18444a9986bcd387d39bdad555beb63.png

图6-26

所有页面上的【服务器行为】都会被列在【应用程序】→【服务器行为】面板的清单中,在本例中我们选择重复10条记录。若想要修改服务器行为的设置,则可以通过双击该服务器行为来进行。

60396181de668ec2a481be890420114e.png

图6-27  双击服务器行为修改设置

程序代码导览

将页面切换到【代码】视图,在套用了【重复区域】服务器行为后,在程序代码当中的变化便是这行单元格的上下被【do…while】循环包围了,而重复的条件为第74行语句(见图6-28),用这样的循环可以达到将记录集中的记录全部输出才停止循环。

67ca442b11a057cd4917fdd37a9466f7.png

图6-28

如果刚刚不小心选到

标签,那这个循环就会包围一组。

在建立记录集时我们就知道有50条记录都在记录集中,可是在这里怎么显示了10条记录呢?回头来检查下代码,如图6-29所示。

6bddd5c4c8a59489121db5ae604376c9.png

图6-29  查询语句被改写

我们发现数据库查询语句被改写过,在第40行变量$query_rsdb所用的SQL语句是以前介绍过的,但在第41行该变量会放到字符串的***个%s位置处。

sprintf("%s LIMIT %d,%d",$query_rsdb,$startRow_rsdb,$maxRows_rsdb);

由上述代码可知,%s表示字符串,后面两个%d表示数值,所要代入的值是$startRow_rsdb与$maxRows_rsdb。$maxRows_rsdb这个变量值与我们前面在重复区域所选择的重复10条记录是同步的,你可以看到第32行定义了这个变量的值。

如果将变量值替换进去,第41行就会变成像下面的这样:

$query_limit_rsdb = "SELECT * FROM profiles LIMIT 0, 10";

可以知道,Dreamweaver使用了一堆变量来记录在图形界面中所选择和设置的值,然后使用LIMIT子句来做到一次显示指定条数的记录。

现在,我们对重复区域有一个大致性的概念。这些程序还会与后面介绍的【记录集分页】搭配,从而使记录集中的记录可以以分页的方式来浏览。

【责任编辑:董书 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值