以前我们曾看过嵌套重复域的制作,那是用UltraDEV在ASP下创建的,而本教程教你如何用DreamWeaver MX在PHP下创建一个嵌套重复区域,当然,思路还是从上一个教程中得过来的,但PHP和ASP是截然不同的两种语言,简单的照搬是行不通的。那么,怎么才能行得通呢,请跟我来吧,其中要手动添加一些代码,所幸并不是太复杂,你只需用大约十分钟来学习,便可以通晓一个很有用的东东(比如制作一个类似动网的论坛就会用到这个的),应该不辞辛苦了吧?
下面是一张MySql表,只是简单举个例子而已,所以数据都是胡乱输的,看了可别笑话听雪啊:
我们先建立一个记录集,从库中将我们需要的提取出来,对记录我们按genus降序排列
测试一下,得到如下结果:
创建一个2行1列的表格,把记录genus绑定到第一行,forumname绑定到行二行,如下图:
接着选择整个表格,添加重复域命令,设置显示所有的记录,如下图:
现在保存文档,到浏览器上看一看结果,如下:
唉!这可不是我们想要的结果哦,但DreamWeaver MX能给我们做的,也就是这些了,下面,我们需要手工添加一些代码,一开始可能觉得有些难,但学会之后会觉得挺简单的。那么,跟我来吧:
第一步,切换到代码视图,找到重复域命令开始的代码部分,在ASP下,重复域命令是这样开头的:<% While ((Repeat-numRows<>0 AND (NOT Recordset.EOF)),而在PHP中,重复域命令是这样开头的:<?php do { ?> 下图就是整个重复域的代码,看清楚了,可不要弄错了。
在它的前面添加下面一行代码。
<?php $strhead=""?>
第二步:找到显示类别genus的那一行,在行开始标志<tr>前加入代码:
<? if ($strhead<>$row_Reforum['genus']) {?> //后一个问号前边是大括号
在行结束标志</tr>后加入代码:
<?php }?> //后一个问号前边也是大括号
在重复域结束那一句即上图第26行前加入代码:
<?php $strhead=$row_Reforum['genus'] ?>
完成后代码如下图(其中第17、20、24、29行为我们手动添加的代码):
现在我们切换回设计视图,原来的表格变成下面的样子啦:
呵呵,应该好了吧,保存文档,到浏览器里看一下,果然好了: