smarty中用section如何处理两层循环?
例如:
index.php$tid=1;
$sql = "SELECT * FROM question WHERE tid=$tid LIMIT 3";
$query = $db->query($sql);
while ($row = $db->fetch_array($query)){
$osql = "select * from `option` where tid=$tid AND QId={$row['qid']}";
$oquery = $db->query($osql);
while ($orow = $db->fetch_array($query)){
$oarray[] = array(
"oid" => $orow["oid"],
"ocontent" => $orow["ocontent"]
);
}
$array[] = array(
"qid"=>$row["qid"],
"qcontent"=>$row["qcontent"],
"option"=>$oarray
);
}
$smarty->assign("V_Q", $array);
unset($array);index.tpl
<{section name=loop loop=$V_Q}>
<TR><TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD valign=top width=36 ><{$smarty.section.loop.index+1}>.</TD>
<TD class="tit2" width=714 align="left"><STRONG><{$V_Q[loop].qcontent}></STRONG></TD>
</TR>
<TR>
<TD> </TD>
<TD>
<TABLE cellSpacing=1 cellPadding=3 width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<{section name=oloop oloop=$V_Q[loop].option}>
<TR bgColor=#ffffff>
<TD align="left">
<input type="radio" name="rgQu_<{$V_Q[loop].qid}>" value="<{$V_Q[loop].option[oloop].oid}>"/>
<{$V_Q[loop].option[oloop].ocontent}>
</TD>
</TR>
<{/section}>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE></TD></TR>
<{/section}>这样写当然是错误的,想请教下正确的写法是怎样的?
例如:
index.php$tid=1;
$sql = "SELECT * FROM question WHERE tid=$tid LIMIT 3";
$query = $db->query($sql);
while ($row = $db->fetch_array($query)){
$osql = "select * from `option` where tid=$tid AND QId={$row['qid']}";
$oquery = $db->query($osql);
while ($orow = $db->fetch_array($query)){
$oarray[] = array(
"oid" => $orow["oid"],
"ocontent" => $orow["ocontent"]
);
}
$array[] = array(
"qid"=>$row["qid"],
"qcontent"=>$row["qcontent"],
"option"=>$oarray
);
}
$smarty->assign("V_Q", $array);
unset($array);index.tpl
<{section name=loop loop=$V_Q}>
<TR><TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD valign=top width=36 ><{$smarty.section.loop.index+1}>.</TD>
<TD class="tit2" width=714 align="left"><STRONG><{$V_Q[loop].qcontent}></STRONG></TD>
</TR>
<TR>
<TD> </TD>
<TD>
<TABLE cellSpacing=1 cellPadding=3 width="100%" bgColor=#e0e0e0 border=0>
<TBODY>
<{section name=oloop oloop=$V_Q[loop].option}>
<TR bgColor=#ffffff>
<TD align="left">
<input type="radio" name="rgQu_<{$V_Q[loop].qid}>" value="<{$V_Q[loop].option[oloop].oid}>"/>
<{$V_Q[loop].option[oloop].ocontent}>
</TD>
</TR>
<{/section}>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE></TD></TR>
<{/section}>这样写当然是错误的,想请教下正确的写法是怎样的?
解决方案 »
- MYSQL语法出错求助MySQL Error : Query Error
- PHP语句的问题:如何要查以subwhat开头的记录
- php 二维数组 高手请进?
- 用php+mysql写好的OA如何做成一个安装的文件?是不是要借助什么工具?如果是给个好用点的。谢谢!
- 请教一个变量内存管理的问题
- PHP生成excel表,怎么对表的格式进行操作,如合并单元格!急
- 实现查询和记录的动态,总是不能编译!请大家帮忙!
- 高分求救:初学者的问题
- 如何实现使用cgi自动添加用户?
- 早上机器突然不能加载mysql了,请各路朋友解决一下
- 大家的ssl certificate用免费的 还是买的?
- 大家帮帮忙!这个该怎么做呢!
<{section name=loop loop=$V_Q}>
<{$V_Q[loop].qcontent}>
...
<{foreach from = $V_Q[loop].option item=value key=id }>
<{$value.oid}>
<{/foreach}>
<{/section}>第二种循环可以用foreach
例子如下:{|section name=key loop=$classKeyIndex|}
<TR>
<TD>{|$classKeyIndex[key].name|}</TD>
</TR>
<TR><TD align="left">
{|section name=class loop=$classKeyIndex[key].detial|}
<A href="">{|$classKeyIndex[key].detial[class].name|}</A>
{|/section|}
</TD></TR>
<TR><TD height="9"></TD></TR>
{|/section|}