我觉得这样比较好.
<!-- BEGIN RowCatalog -->
<td>{pcat_name1}</td>
<td>{pcat_name2}</td>
<td>{pcat_name3}</td>
<td>{pcat_name4}</td>
<td>{pcat_name5}</td>
<!-- END RowCatalog -->
<!-- BEGIN RowCatalog -->
<td>{pcat_name1}</td>
<td>{pcat_name2}</td>
<td>{pcat_name3}</td>
<td>{pcat_name4}</td>
<td>{pcat_name5}</td>
<!-- END RowCatalog -->
<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
<!-- BEGIN RowCatalog_tr -->
<tr>{td_content}</tr>
<!-- END RowCatalog_tr -->
由代码生成td_content的部份,判断好td的数量就好了。
<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);
}
今天重阳放假
以前写的放在公司,不然给你参考下。
不急的话,星期一再贴给你。
支持。贴上来。大家都参考下。
我觉得如果放在php里面实现了再放入模板,那就失去模板的意义了。
至于说担心td数目不同而不齐,我想不会。我用上3下2的td一样正常显示。最后一个td是空白而已。
<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");
}
}
//...
?>
本来就是一个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");
?>
$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>
===============================
<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");
?>
<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风格。