codeigniter如何在单个视图中加载两个不同的mysql表列表

时间:2010-07-16 05:20:46

标签: php mysql database codeigniter

我想为简报制作一个编辑表格。我已经这样做但我无法在同一视图中加载类别列表。

如果用户点击其编辑视图中打开的简报,在此编辑视图中,我想为他提供类别选择选项。类别存储在不同的表名称cat中。

我试过了,但它只展示了一个类别。

请帮助我成为Php的新人

1 个答案:

答案 0 :(得分:1)

嗯,没有任何实际的代码示例,这将非常艰难......大概是编辑视图是一个表单,并且您正在使用表单助手来生成下拉字段。

您需要的第一件事就是在下拉列表中显示正确格式的类别。

来自CodeIgniter docs

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

其中数组键是您的选项值,数组值是显示的文本。

您需要使用您的模型以此格式获取类别。我倾向于使用id作为选项值,因此你可以在模型中使用这样的函数:

function get_cat(){
  $q=$this->db->get('cat');
  if ($q->num_rows()>=1){
    foreach($q->result() as $row){
      $data[$row->id]=$row->name;
    }
    return $data
  }else{
    return false;
  }
}

并假设您的控制器将该函数的结果传递给视图,您可以在视图中执行此操作:

echo form_dropdown('categories', $data);

作为结束语,您可能希望从头开始学习一些东西,而不是使用框架,您应该从中学到更多东西。只是我的意见。