使用Smarty模板切换和案例?

Jor*_*dyn 3 php smarty smarty3

我是聪明的新手.我正在尝试使用智能的开关和案例功能.这是我使用的PHP代码

$i=1;
while ($row = mysqli_fetch_array($sql)){

    switch($i%8){

            case 1:
            case 2:
                //DO Something Here
            break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0:
                //DO Something Else Here
            break;
        }
    $i++;

    }
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将此代码应用于Smarty?感谢你的时间.

Mac*_*ity 5

我不确定在Smarty中复制是最好的主意.Smarty的概念是在控制器中保持这样的逻辑.此外,您必须完全原始地将数据转换为Smarty才能在Smarty中执行此操作.换句话说,您必须将数据循环两次.相反,我将数据构建为类似的结构array并将其传递给Smarty.比你可以使用一个简单{foreach}的smarty循环数据.

$data = array();
$i=1;
while ($row = mysqli_fetch_array($sql)){

    switch($i%8){

            case 1:
            case 2:
                $data[$i][] = $row; //DO Something Here
            break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0:
                $data[$i][] = $row; //DO Something Else Here
            break;
        }
    $i++;

    }
$smarty->assign('data', $data);
Run Code Online (Sandbox Code Playgroud)