我是 smarty 的新手,并试图实现一个嵌套的 foreach 循环。所以我有两个表 subCategory 和 members ,其中 members 和 subCategory 可以通过 subcategory_id 连接。例如,大约有 5 个类别和大约 50 个成员属于这 5 个类别中的任何一个。我想先循环子类别,然后显示每个类别下的成员。但我无法在 smarty 中进行第二次 foreach。在普通的 php 中我可以做到,但在 smarty 中不行。请帮忙。
php代码
$result = mysqli_query($conn,"SELECT * FROM subCategory ");
$list_subchannels = array();
while ( $row = mysqli_fetch_assoc($result) )
{
$subcategory = $row['subcat_id'];
$result1 = mysqli_query($conn,"SELECT * FROM member JOIN subCategory ON member.subcategory_id = subCategory.subcat_id WHERE member.subcategory_id = '$subcategory' ");
$list_subchannels = array();
while ( $row1 = mysqli_fetch_assoc($result1) )
{
$list_subchannels[] = $row1;
$smarty->assign($row1['subcat_name'],$list_subchannels);
}
$list_subcategories[] = $row;
$smarty->assign("subcategory",$list_subcategories);
}
.tpl 代码是
{foreach from=$subcategory key=k item=b}
Sub Category Names: {$b.subcat_name}
<!-- Listing Item -->
{foreach from=$b.subcat_name key=k item=a}
<h3>Member Name: {$a.channel_name}</h3>
<span>Member Id: {$a.member_id}</span>
{/foreach}
<!-- Listing Item / End -->
{/foreach}
它正确显示了所有子类别名称(即第一个 foreach),但显示了它们下的成员。TIA