>>> 帝国网站管理系统5.1开源测试版下载
帝国CMS进入开源时代
 帝国论坛技术交流区网络编程请教一个关于PHP嵌套重复区域的问题 【本版专题贴子】  
主题:请教一个关于PHP嵌套重复区域的问题 [加入收藏夹]   

million8812
用户头衔:书生

精华贴   :0
发贴数   :8
经验值   :60
注册时间:2005-11-26
信息 搜索 好友 发送悄悄话 开源第一波:帝国备份王2008开源版发布】   [第 1 楼]
请教一个关于PHP嵌套重复区域的问题

<?php $strhead=""?><?php do { ?>
                    <table width="260" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                          <td> <? if ($strhead<>$row_xy_news['typename']) {?><table width="260" height="25" border="0" align="center" cellpadding="0" cellspacing="1"
            bgcolor="#666666">
                            <tbody>
                             
                              <tr class="SHI1">
                                <td width="273" valign="center" bgcolor="#ffffec" class="xu1"><strong><font
                    color="#000000">[</font><font
                    color="#000000"><?php echo $row_xy_news['typename']; ?>]<a class="bt_more"
                              href="http://comic.hangzhou.com.cn/hzwdmhd/index.htm"
                              target="_blank"></a></font></strong></td>
                              </tr>
                            </tbody>
                          </table> <?php }?>
                            <table width="260" border="0" align="center" cellpadding="0" cellspacing="4">
                              <tr>
                                <td><span class="xu1"><span class="bt_head">·</span><?php echo $row_xy_news['title']; ?> </span></td>
                                <?php $strhead=$row_xy_news['typename'] ?>
                              </tr>
                            </table></td>
                        </tr>
        </table> <?php } while ($row_xy_news = mysql_fetch_assoc($xy_news)); ?>


我想把那表按每行2个的显示排列
我试过把重复语句拖到<tr></tr>里,加一个变量,记录重复次数,每重复一次,输出一个<tr>
但这种我发觉只能用于没有用嵌套的,如果用了嵌套就出现错误了
老大,可以帮忙解决下吗?

[该贴被修改 1 次,最后修改时间 2006-03-28 23:19:54 ]



2006-03-28 23:18:38 已设置保密 顶部 回复 引用 报告 编辑 删除

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :47888
经验值   :109431
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 2 楼]

//输出
$i=0;
while($r=$empire->fetch($sql))
                {
             $i++;
         if(($i-1)%$line==0||$i==1)
                        {$class_text.="<tr>";}
                 //标题链接
                 $titleurl=sys_ReturnBqTitleLink($r);
                  //------是否显示标题
                  if($showtitle)
                        {
                          $oldtitle=$r[title];
                          $title=sub($r[title],0,$strlen,false);
                                  //标题属性
                       $title=DoTitleFont($r[titlefont],$r[titlecolor],$title);
                           $title="<br><span style='line-height=15pt'>".$title."</span>";
                    }
          $class_text.="<td align=center><a href='".$titleurl."' target=_blank><img src='".$r[titlepic]."' width='".$width."' height='".$height."' border=0 alt='".$oldtitle."'>".$title."</a></td>";
          //分割
          if($i%$line==0)
                        {$class_text.="</tr>";}
         }
      if($i<>0)
                        {
                      $table="<table width=100% border=0 cellpadding=3 cellspacing=0>";$table1="</table>";
              $ys=$line-$i%$line;
                          $p=0;
              for($j=0;$j<$ys&&$ys!=$line;$j++)
                          {
                           $p=1;
               $class_text.="<td></td>";
               }
                           if($p==1)
                           {
                                   $class_text.="</tr>";
                           }
                        }
      $text=$table.$class_text.$table1;
      echo"$text";

$line为每行显示条数



[零基础入门教程] [模板制作教程] [采集使用教程]
2006-03-29 07:58:23 已设置保密 顶部 回复 引用 报告 编辑 删除

million8812
用户头衔:书生

精华贴   :0
发贴数   :8
经验值   :60
注册时间:2005-11-26
信息 搜索 好友 发送悄悄话 开源第一波:帝国备份王2008开源版发布】   [第 3 楼]

不是太明白,
可以简单的实现吗?




2006-03-29 13:07:21 已设置保密 顶部 回复 引用 报告 编辑 删除

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :47888
经验值   :109431
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 4 楼]




[零基础入门教程] [模板制作教程] [采集使用教程]
2006-03-29 16:05:17 已设置保密 顶部 回复 引用 报告 编辑 删除

million8812
用户头衔:书生

精华贴   :0
发贴数   :8
经验值   :60
注册时间:2005-11-26
信息 搜索 好友 发送悄悄话 开源第一波:帝国备份王2008开源版发布】   [第 5 楼]
再来麻烦帮忙开下
我看不明白老大的那个东西,都怪小弟不才拉
我自己写了个,但显示总出现问题,老大可以帮忙调整下吗?

<table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr><?php $str=0;?><?php $strhead=""?><?php do { ?>
                <td valign="top"><table width="260" border="0" align="center" cellpadding="0" cellspacing="0">
                  <tr>
                                  <td valign="top">
                                    <table width="260" height="25" border="0" align="center" cellpadding="0" cellspacing="1"
            bgcolor="#666666">
                      <tbody>
                        <? if ($strhead<>$row_xy_news['typename']) {?><tr class="SHI1">
                          <td width="273" valign="center" bgcolor="#ffffec" class="xu1"><strong><font
                    color="#000000">[</font><font
                    color="#000000"><?php echo $row_xy_news['typename']; ?>]<a class="bt_more"
                              href="http://comic.hangzhou.com.cn/hzwdmhd/index.htm"
                              target="_blank"></a></font></strong></td>
                        </tr><?php }?>
                      </tbody>
                    </table></td>
                  </tr>
                  <tr>
                    <td><table width="260" border="0" align="center" cellpadding="0" cellspacing="4">
                      <tr>
                        <td><span class="xu1"><span class="bt_head">·</span><?php echo $row_xy_news['title']; ?> </span></td>
                      </tr>
                    </table></td>
                  </tr><?php $strhead=$row_xy_news['typename'] ?>
              </table></td><?php $str++;?><?php if ($str%2==0)echo "<tr>"; ?>
              <?php } while ($row_xy_news = mysql_fetch_assoc($xy_news)); ?></tr>
          </table>


显示效果:
新闻栏目一
新闻标题一(1)      新闻标题一(2)     新闻标题一(3)  
新闻栏目二
新闻标题二(1)      新闻标题二(2)     新闻标题二(3)
新闻栏目三
新闻标题三(1)      新闻标题三(2)     新闻标题三(3)  

如果每个栏目只有一条新闻的则显示正常
新闻栏目二     新闻栏目二
新闻标题二(1)   新闻标题二(1)
新闻栏目三     新闻栏目四
新闻标题二(1)   新闻标题四(1)

如果每个栏目多条新闻的话,那每条新闻之间怎么不能换行呀?
老大,请帮帮偶拉,偶处学PHP几个星期而已的.不断学习不断进步呀!!!




2006-03-29 23:01:34 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1