0

私は CodeIgniter のスターターです。データベースからメニューをロードしているCiで小さなアプリケーションを作成しています。

  1. データベースは 3 つのフィールド (id、menu_Name、menu_link) で構成されます。

  2. ライブラリに関数を作成して、db からデータを取得しました

  3. ライブラリをロードしてコントローラーを作成しました

私が作成したコードを添付しています

ライブラリのコード フォルダ構造 ::::---- 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) 変換の問題を示すエラーを表示するビュー ページ

4

1 に答える 1

0

これを試して

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