Я пытаюсь создать динамическое меню с базой данных.Создание динамического меню codeigniter
Контроллер является menu.php
<?php
$_SESSION['lang'] = 'EN';
class Menu extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->database();
$this->load->model("menu_model");
}
public function index()
{
$data['category']= $this->menu_model->getCategory('$lang');
$data['subcategory']= $this->menu_model->getSubCategory('$lang');
$this->load->view('vwHeader',$data);//Left Menu
}
}
?>
Модель является menu_model.php
<?php
class Menu_model extends CI_Model{
function __construct(){
parent::__construct();
$this->load->database();
}
function getCategory($lang){
$sql = 'SELECT * FROM category';
$result = $this->db->query($sql);
if($result->num_rows() > 0)
{
return $result;
}
}
function getSubCategory($lang){
$sql = 'SELECT * FROM subcategory';
$result = $this->db->query($sql);
if($result->num_rows() > 0)
{
return $result;
}
}
}
?>
Посмотреть является vwHeader.php
<?php
foreach($category->result() as $menu)
{
echo "<ul style='margin-left: 148px;margin-top: 15px;'>";
echo "<li style='float: left;
height: 57px;
text-decoration: none;
display: block;'><a class=\"sf-with-ul\" href=\"category/".$menu->urlcategory."\">".$menu->namecategory."</a>";
/*check whether sub menu is there if so first print <ul> then <li><a>*/
if(count($subcategory->result()) > 0 && is_array($subcategory->result()))
{
echo "<ul class=\"sub-menu\">";
foreach($subcategory->result() as $key=>$submenu)
{
if ($menu->idcategory == $submenu->idcategory){
echo "<li><a href=\"category/".$submenu->urlsubcategory."\">".$submenu->namesubcategory."</a></li>";
}
}
}
else
{
echo "<ul style='display:none'>";
echo "</ul>";
}
echo "</ul>";
echo "</li>";
echo "</ul>";
}
?>
Теперь ошибка,
Severity: Notice
Message: Undefined variable: category
Filename: views/vwHeader.php
Line Number: 38
Fatal error: Call to a member function result() on a non-object in C:\xampp\htdocs\admin\application\views\vwHeader.php on line 38
, как я могу решить, что ????
Если вы ищете это сообщение об ошибке, вы получите много результатов t в google. Попробуйте прочитать [как задать вопрос] (http://stackoverflow.com/help/how-to-ask) –
Удалить одинарные кавычки, которые переносят переменную '$ lang'. – Tpojka