2016-12-12 2 views
0

ich Code unten habe in meinem header.php, Werte von $menu kommt von 'my_controller.php & Datenbankabfrage ist in menu_model.php definiert.Erste Fehler für nicht definierte Index in CodeIgniter

Fehlermeldung

Severity: Notice 
Message: Undefined Index: menu_name 
Filename: Header.php 
Line number: 187 
Backtrace: 
    File: ////Header.php 
    Line: 187 
    Function: _error_handler 

    File: ////my_controller.php 
    Line: 32 
    Function: view 

menu_model.php

public function get_main_menu() 
{ 
    $this->db->select("*"); 
    $this->db->from('menu'); 
    $this->db->order_by("menu_id", "ASC"); 
    $query = $this->db->get(); 
    return $query; 
} 

my_controller.php

protected function loadHeader($title = 'Home') 
{  
    $menu['menu'] = $this->menu_model->get_main_menu()->result_array(); 
    //var_dump($menu['menu']); ***This shows data which is mentioned below 
    $data['menu'] = $menu; 
    $data['title'] = $title; 
    $this->load->view('templates/header', $data); ***This is line 32 
} 

header.php

<?php foreach ((array_values($menu)) as $mega_menu): ?> 
    <li class="mega-menu"> 
    <a href="<?php echo BASE_URL.('/category/'.$mega_menu['menu_id'].'/'); ?>"> 
    <div><?php echo $mega_menu['menu_name']?></div> 
    </a> ***This is line 187 
    </li> 
<?php endforeach; ?> 

var_dump ($ Menü)

array(1) { ["menu"]=> array(4) { [0]=> array(4) { ["menu_id"]=> string(1) "1" 
["menu_name"]=> string(14) "Start Business" ["menu_desc"]=> string(34) "DSC, 
DPIN Initiation etc. services" ["breadcrumb_id"]=> string(1) "0" } [1]=> array(4) 
{ ["menu_id"]=> string(1) "2" ["menu_name"]=> string(12) "Intellectual" ["menu_desc"]=> 
string(35) "Trademark and Copyright Filing etc." ["breadcrumb_id"]=> string(1) "0" } 
[2]=> array(4) { ["menu_id"]=> string(1) "3" ["menu_name"]=> string(8) "Personal" 
["menu_desc"]=> string(47) "Wills, Rent Agreements, General Affidavits etc." 
["breadcrumb_id"]=> string(1) "0" } [3]=> array(4) { ["menu_id"]=> string(1) "4" 
["menu_name"]=> string(9) "Contracts" ["menu_desc"]=> string(32) "General 
Business Agreements etc." ["breadcrumb_id"]=> string(1) "0" } } } 

Kann mir den Fehler zu finden, jemand helfen?

+1

posten Sie Ihre vollständige Meldung Fehler –

+0

Regel nicht definiert Indexfehler auch von einer Zeilennummer versehen sind, und mehr auf den Fehler. Können Sie den gesamten Fehler zusammen mit einigen Zeilennummern posten? – FrankerZ

+0

Semantik; Undefined Index ist ein Hinweis – zanderwar

Antwort

4

Einige ändern Sie Ihre my_controller.php. Kann $data['menu'] = $menu['menu']; statt $data['menu'] = $menu;

protected function loadHeader($title = 'Home') 
{  
    $menu['menu'] = $this->menu_model->get_main_menu()->result_array(); 
    //var_dump($menu['menu']); ***This shows data which is mentioned below 
    $data['menu'] = $menu['menu']; 
    $data['title'] = $title; 
    $this->load->view('templates/header', $data); ***This is line 32 
} 
+0

Das war so einfach. Ich habe es verpasst, danke. :) –

+0

machen nur diese Änderungen ist keine vollständige Lösung.Es gibt auch einen Fehler in header.php. –

1

Erste menu_model.php als Menu_model.php speichern, Code folgenden

public function get_main_menu() 
{ 
    $this->db->select("*"); 
    $this->db->from('menu'); 
    $this->db->order_by("menu_id", "ASC"); 
    $query = $this->db->get(); 
    return $query; 
} 

Speichern my_controller.php als My_controller.php mit Code folgen.

protected function loadHeader($title = 'Home') 
{  
    $this->load->helper('url'); 
    $this->load->model('menu_model'); 
    $menu= $this->menu_model->get_main_menu()->result_array(); 
    $data['menu'] = $menu; 
    $data['title'] = $title; 
    $this->load->view('templates/header', $data); 
} 

Und bei Ihrer Sicht machen den folgenden Code:

<?php foreach($menu as $mega_menu): ?> 
    <li class="mega-menu"> 
    <a href="<?php echo base_url('category/'.$mega_menu['menu_id']); ?>"> 
    <div><?php echo $mega_menu['menu_name'];?></div> 
    </a> 
    </li> 
<?php endforeach; ?> 
Verwandte Themen