我在codeigniter中列出类别有问题 我的表是:
id name sub_category category_name desc status
3 submenu1 menu1 category1 desc1 1
4 submenu1 menu2 category1 desc1 1
5 submenu1 menu1 category2 desc1 1
6 submenu1 menu2 category2 desc1 1
我的预期输出是:
category1
submenu1
menu1
menu2
category2
submenu1
menu1
menu2
列出这种结构
myController的:
public function index(){
// $this->load->view('view_admin/home');
$data['menu']=$this->Admin_model->menu();
$data['menu1']=$this->Admin_model->menu1();
$data['menu2']=$this->Admin_model->menu2();
echo '<pre>';
print_r($data['menu1']);
echo '</pre>';
$this->load->view('view_admin/banner',$data);
}
为MyModel:
function menu(){
$this->db->select('*');
$this->db->from('productpage');
$this->db->where('status',1);
$this->db->group_by('category_name');
$query = $this->db->get();
$result = $query->result();
return $result;
}
function menu1(){
$this->db->select('*,group(');
$this->db->from('productpage');
$this->db->where('status',1);
$this->db->group_by('name');
$query = $this->db->get();
$result = $query->result();
return $result;
}
function menu2(){
$this->db->select('*');
$this->db->from('productpage');
$this->db->where('status',1);
$this->db->group_by('sub_category');
$query = $this->db->get();
$result = $query->result();
return $result;
}
我得到这样的错误 遇到PHP错误 严重性:注意
消息:尝试获取非对象的属性
文件名:view_admin / banner.php
行号:58
如何为视图中的每个循环创建一个以获得预期的输出
感谢您的宝贵回复
答案 0 :(得分:2)
您只需要一个查询/模型函数,并在视图之前稍微重新排列数组:
型号:
function menu(){
return $this->db->get_where('productpage', array('status' => 1))->result_array();
}
控制器:
$array = $this->Admin_model->menu();
$menu = array();
foreach ($array as $item) {
// rearrange things
$menu[$item['category_name']][$item['name']][] = $item['sub_category'];
}
$this->load->view('view_admin/banner', array('menu_data' => $menu));
查看:
foreach ($menu_data as $cat_name => $sub_menu) {
echo $cat_name . '<br>';
foreach ($sub_menu as $sub_menu_name => $menus) {
echo $sub_menu_name . '<br>';
foreach ($menus as $menu) {
echo $menu . '<br>';
}
}
}
生成:
category1
submenu1
menu1
menu2
category2
submenu1
menu1
menu2