我是聪明的新手。我正在尝试使用智能的开关和案例功能。 这是我使用的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++;
}
我的问题是如何将此代码应用于Smarty?感谢你的时间。
答案 0 :(得分:5)
我不确定在Smarty中复制是最好的主意。 Smarty的概念是在控制器中保持这样的逻辑。此外,您必须完全原始地将数据转换为Smarty才能在Smarty中执行此操作。换句话说,您必须将数据循环两次。相反,我将数据构建为类似array
的结构,并将其传递给Smarty。你可以在smarty中使用简单的{foreach}
来循环数据。
$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);