首先声明一点,因为替换的原因,我推荐你在建表时,表与表的字段名称不要相同,否则在循环嵌套替换时会出现替换错误的情况。
我们在写程序时经常碰到循环嵌套的情况,主要分为两种可能性:
第一种是两个不同表之间的嵌套,例如下面这样调取分类下的新闻
{ $ t_class_news order="order by n_class_id desc"}
{n_class_name}
{ $ t_news where="n_class_id={n_class_id}"} {n_title}
{/ $}
{/ $}
上面的情况属于不同表之间的循环嵌套,只需正常书写即可调取数据。
第二种是同一个表之间的嵌套,本例亦可解决表和表之间字段名相同,防止替换错误的情况出现,例如父类调取子类
{ $ t_class_news where="n_parent_id=0" order="order by n_class_id desc" id="big"}
{big:n_class_name}
{ $ t_class_news where="n_parent_id={big:n_class_id}" }{n_class_name}
{/ $}
{/ $}
上面的情况属于相同表之间的嵌套,需要在外层标记中增加id属性来区分每一层的字段,嵌套可以是两层,也可以大于两层。