2010-10-11 118 views
0
function menuName() 
{ 
    $this->viewData['page_title'] = "ContentManagement Systemt!"; 
    $this->db->where('visible', 1); 
    $this->db->order_by("position", "ASC"); 
    $query = $this->db->get('subjects'); 
    $subjects = $query->result(); 
    foreach ($subjects as $subject) 
    { 
     echo $subject->menu_name ."<br />"; 
     $this->db->where('subject_id', $subject->id); 
     $query = $this->db->get('pages'); 
     $pages = $query->result(); 
     foreach ($pages as $page) 
     { 
      echo $page->menu_name ."<br />"; 
     }   
    } 
} 

爲什麼我的查詢不起作用?請告訴我。查詢在CodeIgniter中不起作用

+0

什麼不工作?沒有結果?錯誤?意外的結果? – Ross 2010-10-11 16:01:53

+0

是的,請提供更多詳情。例如,告訴我們會出現什麼錯誤。或者也許你的桌子結構如何。當你向我們展示代碼時很難提供幫助。 – treeface 2010-10-11 16:27:43

+0

當我運行查詢然後只是主題菜單名稱,但不是來頁面menu_name。我的意思是第一回路正在工作,但第二回路不工作 – masud010 2010-10-11 16:37:07

回答

0

你應該總是使用foreach循環類似如下:

$subjects = $query->result(); 
foreach ($subjects as $subject) 

你的方法有一個糟糕的表現。

也許這已經解決了你的問題 - 我現在無法測試它。你的查詢變量命名相同,並且你在兩個foreach循環中都使用$ query - 這可能會導致一些奇怪的行爲。

+0

我已經改變,因爲你告訴但不工作,但請幫助我 – masud010 2010-10-11 15:40:57

+0

我已經改變了我的變量$科目和$頁 – masud010 2010-10-11 15:42:34

+0

我已經改變,因爲你告訴我,但直到不工作 – masud010 2010-10-11 15:47:15

0

你爲什麼不迴應查詢,像這樣:

回聲$這個 - > DB-> last_query()

要看看是怎麼回事的結果

也許問題在那裏。

+0

你也可以$ this-> output-> enable_profiler(TRUE);在您的控制器上查看查詢。 – 2011-03-09 22:34:38