Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在foreach之后更新SMARTY节_Php_Html_Smarty - Fatal编程技术网

Php 如何在foreach之后更新SMARTY节

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示例:

<?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显示结果。