我有问题输出到页面..
for ( $i = 0; $mainarray[$i] != ''; $i++ ){
$query = mysql_query("SELECT ... FROM ... WHERE id=$i") or die(mysql_error());
while($tmp = mysql_fetch_assoc($query))
{
$something[] = $tmp;
}
$smarty->assign('stuff'.$i, $something);
}
我可以像
那样手动完成{section name=i loop=$stuff1}
.....
{/section}
{section name=i loop=$stuff2}
.....
{/section}
但那不是很好的方式。
答案 0 :(得分:2)
将你的“东西”放入数组怎么样?
$stuff = arrray();
for ( $i = 0; $mainarray[$i] != ''; $i++ ){
$query = mysql_query("SELECT ... FROM ... WHERE id=$i") or die(mysql_error());
while($tmp = mysql_fetch_assoc($query))
{
$something[] = $tmp;
}
$stuff[] = $something;
}
$smarty->assign('stuff', $stuff);
然后你可以循环模板中的东西。
答案 1 :(得分:0)
看起来你可能想在php代码中使用多维数组,在smarty中使用嵌套循环。
自从我使用php / smarty以来已经有一段时间了,所以这种语法可能不正确。
$stuff = array();
foreach ($mainarray as $i) {
$query = mysql_query("SELECT ... FROM ... WHERE id=$i") or die(mysql_error());
$something = array();
while($tmp = mysql_fetch_assoc($query)) {
$something[] = $something;
}
$stuff[] = $something;
}
$smarty->assign('stuff', $stuff);
在smarty中你需要一个嵌套循环。我可能会使用聪明的语法,但这看起来像一个类似的问题: http://www.smarty.net/forums/viewtopic.php?t=14552&highlight=nested+section