这是我的代码点火器代码,用于类别和子类别,当我在第一个程序之外回显结果或将结果传递给smarty时,它只输出最后一个主id行。但是,在关闭}之前,第一个foreach中的echo返回所有结果。
function getAllCats(){
$this->load->model('mHtml', 'mnMod');
$main_cat = $this->mnMod->getncats();
$all_cat = '';
foreach($main_cat as $mcat){
$all_cat = '<li><h3><a href="{base_url()}'.$mcat->cname.'">'.$mcat->cname.'</a></h3>';
$sub_cat = $this->mnMod->getscats($mcat->categoryid);
foreach($sub_cat as $scat){
$all_cat .= '<a href="{base_url()}'.$scat->cname.'">'.$scat->cname.'</a><br />';
}
$all_cat .= '</li>';
}
// echo $all_cat; die;
$this->smarty->assign("nav", $all_cat);
}结果用我的方法返回。
功率逆变器
离栅纯正弦波
格栅系绳
微格栅系
结果我想要实现并传递给智能变量
太阳能电池板
单晶
多晶
柔性太阳能
电荷控制器
脉宽调制
MPPT技术
功率逆变器
离栅纯正弦波
格栅系绳
微格栅系
发布于 2015-06-08 06:56:10
我有同样的问题--我通过一个mysql查询获得了所有父类别,而在另一个查询中,我选择了所有类别,简单地将变量赋值给smarty,并根据每个父类别预先预测这些结果。
$main_Categories = $this->model->all_categories();
$this->smarty->assign("main_Categories ", $main_Categories );//在智能页上
{foreach $main_Categories $cat}
{if $cat->parentid = 'your parent id'} // parent id will be same for all main ids.
{$cat->category_name}<br />
{assign 'cat_id' $cat->cat_id}
{foreach $main_Categories as $sub}
{if $cat_id eq $sub->parent_id}
{$sub->category_name}<br />
{/if}
{/foreach}
{/if}
{/foreach}发布于 2015-06-05 11:10:37
循环遍历您的$main_cats并为每个sub_categories分配sub_categories。好的做法是确保在执行此操作之前$main_cats是一个数组。
主计长:
function getAllCats() {
$this->load->model('mHtml', 'mnMod');
$main_cats = $this->mnMod->getncats();
if(is_array($main_cats))
foreach($main_cats as &$mcat) {
$mcat['subcat'] = $this->mnMod->getscats($mcat->categoryid);
}
$this->smarty->assign("cats", $main_cats);
}查看:
{if $cats}
{foreach from=$cats item=cat}
<li><h3><a href="{$cat.cname|base_url}">{$cat.cname}</a></h3>
{foreach from=$cat item=sub_cat}
<a href="{$sub_cat.cname|base_url}">{$sub_cat.cname}</a><br />
{/foreach}
</li>
{/foreach}
{else}
<p>No cats found</p>
{/if}https://stackoverflow.com/questions/30664710
复制相似问题