我是CodeIgniter的首发。我正在Ci中创建一个小应用程序,从数据库加载我的菜单。
数据库由3个字段组成(id,menu_Name,menu_link)
我在Libraries中创建了一个函数来从db
通过加载库
附上我创建的代码
代码库 文件夹结构:::: ---- libraries / 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)显示转换问题的错误
答案 0 :(得分:0)
试试这个
foreach($arrMenus->result() as $key_menu=>$val_menu)