我正在尝试在html表中输出类别和子类别 我有一个问题,所有子类别都打印在所有类别下
我使用这个公式
我想在其父主要类别
下打印每个子类别我使用此代码
$cats=$mysqli->query("select cat_id,cat_name,cat_parent from cats where cat_parent='0'");
while($row_cats=$cats->fetch_assoc()){
$cats_sub=$mysqli->query("select cat_id,cat_name,cat_parent from cats where cat_parent='".$row_cats['cat_id']."'");
while($row_cats_sub=$cats_sub->fetch_assoc()){
$cats_array_sub[]=$row_cats_sub;
}
$cats_array[]=$row_cats;
}
$cats->free_result();
$cats_sub->free_result();
$t->assign('cats_array',$cats_array);
$t->assign('cats_array_sub',$cats_array_sub);
$t->display('display.tpl');
display.tpl是
<table width="100%" border="0" cellpadding="5">
<tr valign="top">
{assign var="i2" value=0}
{foreach from=$cats_array item=cat}
{if $i2 == 5}
</tr>
<tr>
{assign var="i2" value=0}
{/if}
<td style="width:20%;">
<div style="background-color:silver;">
{$cat.cat_name}
</div>
<table>
{foreach from=$cats_array_sub item=sub}
<tr>
<td>{$sub.cat_name}</td>
</tr>
{/foreach}
</table>
</td>
{assign var="i2" value=$i2+1}
{/foreach}
</tr>
</table>
任何想法的人
此致
答案 0 :(得分:0)
以下代码可以解决您的问题:
$cats=$mysqli->query("select cat_id,cat_name,cat_parent from cats where cat_parent='0'");
while($row_cats=$cats->fetch_assoc()){
$cats_sub=$mysqli->query("select cat_id,cat_name,cat_parent from cats where cat_parent='".$row_cats['cat_id']."'");
while($row_cats_sub=$cats_sub->fetch_assoc()){
$cats_array[$row_cats['cat_id']]['sub'][]=$row_cats_sub;
}
$cats_array[$row_cats['cat_id']]['cat_id']=$row_cats['cat_id'];
$cats_array[$row_cats['cat_id']]['cat_name']=$row_cats['cat_name'];
$cats_array[$row_cats['cat_id']]['cat_parent']=$row_cats['cat_parent'];
}
$cats->free_result();
$cats_sub->free_result();
$t->assign('cats_array',$cats_array);
$t->display('display.tpl');
模板应如下所示:
<table width="100%" border="0" cellpadding="5">
<tr valign="top">
{assign var="i2" value=0}
{foreach from=$cats_array item=cat}
{if $i2 == 5}
</tr>
<tr>
{assign var="i2" value=0}
{/if}
<td style="width:20%;">
<div style="background-color:silver;">
{$cat.cat_name}
</div>
<table>
{foreach from=$cats_array.sub item=sub}
<tr>
<td>{$sub.cat_name}</td>
</tr>
{/foreach}
</table>
</td>
{assign var="i2" value=$i2+1}
{/foreach}
</tr>
</table>
我不知道你需要什么$ i2 如果没有使用,请将其从模板中删除。