【问题标题】:CodeIgniter - Select data from db, common to all viewsCodeIgniter - 从 db 中选择数据,对所有视图都通用
【发布时间】:2012-04-25 16:36:45
【问题描述】:

我对 CI 很陌生。 :)

在我的项目中,我将页面分为页眉、页脚和正文。并且正文部分(视图)是基于控制器加载的。页眉和页脚对所有页面都是通用的。

例如,对于登录页面,它会是这样的:

$this->load->view('header');
$this->load->view('login');
$this->load->view('footer');

但现在我关心的是,如何生成“类别”部分(它将在正文部分的左侧列出几个类别名称)。单击类别后,相应的详细信息页面将显示在右侧(即在内容部分中)。因此,在所有视图(所有页面)中,我需要显示类别列表。

视觉示例:

----------------------------
   Header Portion of Page
----------------------------
       Body Portion
       ============
Cat1 |
Cat2 |
Cat3 |     Content
Cat4 |
Cat5 |
----------------------------
          Footer
----------------------------

这些类别由 db 中的数据填充。

我刚刚做了一些搜索。所以,我正在考虑创建一个辅助类并自动加载它。因此,在所有视图中,我都会调用该函数并回显结果。

例如:

function hlp_getCategories()
{
    $ci =& get_instance();
    $q = $ci->db->query('SELECT cat_name FROM tblCategories');
            return $q;
}

在视图中:

<?php
$q = hlp_getCategories();
foreach ($q->result_array() as $row)
{
   echo anchor('cat/' . $row['cat_name'], $row['cat_name']) ;
}
?>

这是正确的方法吗? 我在正确的轨道上吗?

提前致谢:)

【问题讨论】:

    标签: codeigniter view


    【解决方案1】:

    这是解决它的一种方法——尽管如果你遵循严格的 MVC 方法——助手会调用模型 $this->category->select_cat(),并将 SQL 查询放入模型中。此外,SQL 查询应该使用活动记录选择,而不是文本 SQL 查询。

    解决此问题的另一种方法是使用一些 CSS,其左侧菜单(即类别)具有 DIV,右侧菜单(即内容)具有 DIV。

    那你就可以了

     $this->load->view('header'); 
     $this->load->view('categories');
     $this->load->view('login'); 
     $this->load->view('footer'); 
    

    然后在您的类别视图中

     <div class = "left">
         // show categories here
     </div>
    

    在您的内容视图中

      <div class = "right">
         // show content here
     </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2013-04-27
      • 2023-04-06
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多