【发布时间】:2013-09-30 15:16:53
【问题描述】:
我是 CodeIgniter 的初学者。我正在 Ci 中创建一个小型应用程序,从数据库加载我的菜单。
数据库由 3 个字段组成(id,menu_Name,menu_link)
我在库中创建了一个函数来从 db 中获取数据
通过加载库创建控制器
附上我创建的代码
库代码 文件夹结构 ::::---- 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) 在视图页面中显示转换问题的错误
【问题讨论】:
-
怎么不能正常工作?解释问题。
-
视图无法正常工作..即视图页面没有显示菜单...所以我使用 print_r($arrMenus);..它显示数据...但菜单链接被留下空白
-
您是否启用了short tags?试试
<?php echo $var; ?>而不是<?=$var?> -
你好,我要在哪里试试这个内部视图?
标签: php mysql codeigniter