0

我是 CodeIgniter 的初学者。我正在 Ci 中创建一个小型应用程序,从数据库加载我的菜单。

  1. 数据库由 3 个字段组成(id、menu_Name、menu_link)

  2. 我在库中创建了一个函数来从数据库中获取数据

  3. 通过加载库创建控制器

我附上了我创建的代码

代码库文件夹结构 ::::---- library/Functions.php

function getMenus()
{
    $arrRow =array();
    $sql    = "select * from tbl_menus ";
    $res    =mysql_query($sql); 
    if(mysql_num_rows($res) >0) {
        while($row= mysql_fetch_object($res)){
                $arrRow[]   =$row;
        }

    }

} 

控制器代码

    public function index()
{
   $val_menu = $this->input->post('menu_Name');
   $val_link= $this->input->post('menu_link');
   $query=$this->db->get_where('tbl_menus',array('menu_Name'=>$val_menu,'menu_link'=>$val_link));

   if ($query->num_rows() > 0)
   {
    $arrRow=$query->row_array();
    $data=$arrRow;
   }
    $data=array('menu_Name'=>$data,'menu_link'=>$data);
    $this->load->helper('url');
    $this->load->database();

    $this->load->view('Header');  
    $this->load->view('SideMenu',$data);     
    $this->load->view('Pages/MainPage',$data);   
    $this->load->view("Footer");  
}

我的查看代码

<?php

$arrMenus=array();
$arrMenus   =$this->functions->getMenus();

?>

<div class="container">

<div class="sidebar1">



<?php if(count($arrMenus) >0) {
foreach($arrMenus as $key_menu=>$val_menu) {
$menu_link  =$val_menu['menu_link'];?> 
<ul class="nav">
//Before Edit
<li><a href="<?=site_url()?>/<?=$menu_link?>" class="lnk"><?=$val_menu['menu_name']?>
//After Edit
<li><a href="<?=site_url()?>/<?php echo $menu_link?>" class="lnk"><?php echo  $val_menu['menu_name']?></a></li>  
</a></li>
</ul>

Print_r() 结果

Array ( [menuId] => 1 [menu_Name] => UserHome [menu_link] => Pages/MainPage ) 

视图无法正常工作..即视图页面没有显示菜单...所以我在控制器内使用 print_r($arrMenus);..它显示数据...但菜单链接留空 .Print_r($ arrMenus) 在视图页面中显示转换问题的错误

4

1 回答 1

0

尝试这个

  foreach($arrMenus->result() as $key_menu=>$val_menu)
于 2013-09-30T21:35:12.157 回答