我觉得这样比较好.
<!-- BEGIN RowCatalog -->
    <td>{pcat_name1}</td>
    <td>{pcat_name2}</td>
    <td>{pcat_name3}</td>
    <td>{pcat_name4}</td>
    <td>{pcat_name5}</td>
<!-- END RowCatalog -->

解决方案 »

  1.   

    mrshelly(Shelly) :这样可以吗?pcat_name是动态变化的,不知有多少个啊!
      

  2.   

    <!-- BEGIN RowCatalog_tr -->
    <tr>
    <!-- BEGIN RowCatalog -->
        <td>{pcat_name}</td>
    <!-- END RowCatalog -->
    </tr>
    <!-- END RowCatalog_tr -->
    这样子嵌套就可以了
    请看
    http://www.phpe.net/articles/333.shtml分页的话看这里。。
    http://blog.csdn.net/kingerq/archive/2004/09/29/120354.aspx
      

  3.   

    有两层嵌套有点不好处就是.可能表格的 <td></td> 数不整齐.
      

  4.   

    <td>循环不用PHPLib实现,做成
    <!-- BEGIN RowCatalog_tr -->
    <tr>{td_content}</tr>
    <!-- END RowCatalog_tr -->
    由代码生成td_content的部份,判断好td的数量就好了。
      

  5.   

    kingerq(多菜鸟):我试了很久,还是不行!能将你的方法详细点吗?RowCatalog_tr怎样定义呢?
      

  6.   

    <!-- BEGIN RowCatalog_tr -->
    <tr>
    <!-- BEGIN RowCatalog -->
        <td>{pcat_name}</td>
    <!-- END RowCatalog -->
    </tr>
    <!-- END RowCatalog_tr -->---------------------------------
    $tpl->set_block("fileHandle", "RowCatalog_tr", "tr");
    $tpl->set_block("RowCatalog_tr", "RowCatalog", "td");
    for($i=0;$i<5;$i++)
    {
        for($j=0;$j<5;$j++)
        {
            $tpl->set_var("pcat_name", $pcat_name);
            if($j == 0)
                $tpl->parse("td", "RowCatalog", false);
            else
                $tpl->parse("td", "RowCatalog", true);
        }
        if($i == 0)
            $tpl->parse("tr", "RowCatalog_tr", false);
        else
            $tpl->parse("tr", "RowCatalog_tr", true);
    }
      

  7.   

    回复人: lisoon(水翡草芥) ( ) 信誉:100  2004-10-22 13:49:00  得分: 0  
     
     
       今天重阳放假
    以前写的放在公司,不然给你参考下。
    不急的话,星期一再贴给你。
      
     
    支持。贴上来。大家都参考下。
    我觉得如果放在php里面实现了再放入模板,那就失去模板的意义了。
    至于说担心td数目不同而不齐,我想不会。我用上3下2的td一样正常显示。最后一个td是空白而已。
      

  8.   

    <!-- BEGIN RowCatalog_tr -->
    <tr>
    <!-- BEGIN RowCatalog -->
        <td>{pcat_name}</td>
    <!-- END RowCatalog -->
    </tr>
    <!-- END RowCatalog_tr -->=====================================
    <?
    //...$tpl->set_block("fileHandle", "RowCatalog_tr", "tr");
    $tpl->set_block("RowCatalog_tr", "RowCatalog", "td");
    for($i = 1; i < 25; i++){
      $tpl->set_var("pcat_name", $i);
      $tpl->parse("td", "RowCatalog", true);
      if($i%5==0){//5列
        $tpl->parse("tr", "RowCatalog_tr", true);
        $tpl->set_var("td");
      }
    }
    //...
    ?>
      

  9.   

    kingerq(多菜鸟) :我试了你的方法,结果是24!我还以为是一个5行5列的矩阵
      

  10.   

    uuq(杜牧) :刚接触phplib,能否说清楚点!
      

  11.   


    本来就是一个5行5列的矩阵moban.htm
    ===============================
    <table>
    <!-- BEGIN RowCatalog_tr -->
    <tr>
    <!-- BEGIN RowCatalog -->
        <td>{pcat_name}</td>
    <!-- END RowCatalog -->
    </tr>
    <!-- END RowCatalog_tr -->
    </table>test.php
    =====================================
    <?
    include("template.inc");
    $tpl = new Template();
    $tpl->set_file("moban","moban.htm");$tpl->set_block("fileHandle", "RowCatalog_tr", "tr");
    $tpl->set_block("RowCatalog_tr", "RowCatalog", "td");
    for($i = 1; i < 25; i++){
      $tpl->set_var("pcat_name", $i);
      $tpl->parse("td", "RowCatalog", true);
      if($i%5==0){//5列
        $tpl->parse("tr", "RowCatalog_tr", true);
        $tpl->set_var("td");
      }
    }
    $tpl->pparse("o", "moban");
    ?>
      

  12.   

    kingerq(多菜鸟) :感谢你的回复!我试了,可以输出一个矩阵;但是假若我的数据不是25(非5的整倍数),而是13的话,就只能输出前面的8个数字了!
      

  13.   

    $sql = "select * from table";
    $query = mysql_query($sql);
    $num = mysql_num_rows($query);
    for($i=0;$i<$num;$i++)
    {
        $result = mysql_fetch_array($query);
        if($i%5==0)
        {
            $sort.="<tr>";
        }
            $sort.="<td><a href='gov_memo.php?id=".$result["id"]."'>".$result["name"]."</a></td>";
        if(($i+1)%5==0)
        {
            $sort.= "</tr>";
        }
    }
    $temp -> set_var("sort",$sort);
    ?>
    <table>{sort}</table></table>
      

  14.   

    moban.htm
    ===============================
    <table>
    <!-- BEGIN RowCatalog_tr -->
    <tr>
    <!-- BEGIN RowCatalog -->
        <td>{pcat_name}</td>
    <!-- END RowCatalog -->
    </tr>
    <!-- END RowCatalog_tr -->
    </table>test.php
    =====================================
    <?
    include("template.inc");
    $tpl = new Template();
    $tpl->set_file("moban","moban.htm");$tpl->set_block("fileHandle", "RowCatalog_tr", "tr");
    $tpl->set_block("RowCatalog_tr", "RowCatalog", "td");
    for($i = 1; i < 25; i++){
      $tpl->set_var("pcat_name", $i);
      $tpl->parse("td", "RowCatalog", true);
      if($i%5==0){//5列
        $tpl->parse("tr", "RowCatalog_tr", true);
        $tpl->set_var("td");
      }
    }
    $tpl->parse("tr", "RowCatalog_tr", true);
    $tpl->pparse("o", "moban");
    ?>
      

  15.   

    <table border="1" cellpadding="0" cellspacing="1">
    <tr>
    <!-- BEGIN row -->
    <td>
    {content}
    </td>
    {tr}
    <!-- END row -->
    </table>
    --------------------------------------------------$t->set_block("main","row","rows");
    $i=0;
    while($row=mysql_fetch_array($result))
       { 
               $t->set_var('content',$row['content']);
      next($row);
      $i++;
      if($i % 5==0)
      {
        $t->set_var('tr',"</tr>");
      }
      else
      {
        $t->set_var('tr',"");
      }
      $t->parse("rows", "row", true);
       }
        $t->pparse("output", "main");
      
     ?>
    第一个学的脚本是asp,所以明显带有asp风格。