2010-10-11 117 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