主题:  用DreamWeaver MX实现PHP嵌套重复域(教程)

听雪堂主

职务:普通成员
等级:1
金币:1.0
发贴:286
#12004/6/18 19:47:14
  以前我们曾看过嵌套重复域的制作,那是用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行为我们手动添加的代码):

  

  现在我们切换回设计视图,原来的表格变成下面的样子啦:

  

  呵呵,应该好了吧,保存文档,到浏览器里看一下,果然好了:

  



Mike

职务:版主
等级:6
金币:11.0
发贴:5148
#22004/6/19 12:36:18
懂你意思了,一直没玩原代码,偶看看还是很有收获啊~~
$strhead嗯~~有道理