从视图中获取id并传递给另一个控制器

时间:2016-06-30 04:57:04

标签: php codeigniter

我有 2表如下

项目

id | name | address

BOQ

id | project_id |item_no | description

project_id 是外键。然后我已经从项目表中加载了所有数据。然后我想在点击项目名称时将所有数据加载到与项目ID相关的boq表中。这是我的代码。但它不起作用。任何人都可以帮助我。

控制器

   function show_boq() {
$id = $this->uri->segment(3);
$data['projects'] = $this->project_list_model->show_projects();
$data['boq'] = $this->project_list_model->show_boq($project_id);
$this->load->view('boq_doc', $data);
}

模型

 function show_boq($id){
$this->db->select('*');
$this->db->from('boq');
$this->db->where('project_id',$data);
$this->db->join('project', 'project.id = boq.project_id');
$query = $this->db->get();
$result = $query->result();
return $result;
}

查看

<?php foreach ($boq as $boq): ?>

<tr>
<td><?php echo $boq->id; ?></td>

<td><?php echo $boq->item_no; ?></td>

<td><?php echo $boq->description; ?> </td>

</tr>
  <?php endforeach; ?>

1 个答案:

答案 0 :(得分:0)

使用这样的模型。使用项目表作为第一个和boq表作为第二个。

function show_boq($data){
    $this->db->select('*');
    $this->db->from('project');
    $this->db->join('boq', 'project.id = boq.project_id');
    $this->db->where('project.id',$id);
    $query = $this->db->get();
    $result = $query->result();
}

视图文件是

<?php 

        if (is_array($boq) || is_object($boq))
        {

        foreach ($boq as $row): ?>

            <tr>
            <td><?php echo $row->id; ?></td>

            <td><?php echo $row->item_no; ?></td>

            <td><?php echo $row->description; ?> </td>

            </tr>
              <?php endforeach; 
        }
?>