Php 如何在foreach之后更新SMARTY节
我有如下PHP示例:Php 如何在foreach之后更新SMARTY节,php,html,smarty,Php,Html,Smarty,我有如下PHP示例: <?php $i=0; $array1 = $DB->GetAll("select something from table1"); foreach ($array1 as $b) { $array2 = $DB->GetAll("select something2 from table2"); $z=0; foreach ($array2 as $a) { $test[$i][data]=$arra
<?php
$i=0;
$array1 = $DB->GetAll("select something from table1");
foreach ($array1 as $b)
{
$array2 = $DB->GetAll("select something2 from table2");
$z=0;
foreach ($array2 as $a)
{
$test[$i][data]=$array2[$z][name];
$i++;
$z++;
}
}
$SMARTY->assign('test',$test);
$SMARTY->assign('counter', $i);
$SMARTY->display('test.html');
?>
和HTML test.HTML:
{section name=i loop=$test}
<TR>
<TD>
{$test[i].data}
</TD>
</TR>
{/section}
{section name=i loop=$test}
{$test[i].data}
{/section}
问题是“test”数组很大,在html页面中显示它需要很长时间。
如何修改代码以在html中显示“foreach($array1 as$b)”第一行的结果,然后清除“test”数组,并将其放入第二行,然后将其添加到html的内容中等
提前谢谢。测试数组中有多少个元素?即使有一百万行,生成HTML也不会超过2或3秒(除非Smarty特别低效)。它将在浏览器中显示它们,这将是缓慢的。由于“array1”的60次迭代,将显示1000行和5列。第一次迭代需要1秒、1-2秒、1-5分钟、1-60分钟才能以html显示结果。