如何在Codeigniter中基于链接ID查看所有数据

时间:2019-03-01 06:58:44

标签: javascript php html codeigniter

我是Codeigniter的新手。我正在从数据库获取值到作业页面。在作业页面中,我仅显示数据库中作业表中的三列。我有一个“查看更多”链接按钮。当用户单击“查看更多”链接时,我想根据它在viewjobs页面中的ID显示所有作业详细信息。

如何从作业页面到Viewjobs页面获取ID以显示数据库中Jobs表中的所有数据?如何在控制器中获取值?

请检查我的作业控制器代码

class Careers extends CI_Controller {
  public function jobs()
  {   
    $this->load->database();  
    $this->load->model('xjobs');  
    $data['h']=$this->xjobs->xjobslist();  
    $this->load->view('jobs', $data);  
  } 
}

这是我的Jobs.php代码的视图。

<table class="table table-hover table-striped jobtable">
  <thead style="background:#f4ae00; color:#fff; border-radius:5px 5px 0px 0px;">
    <tr>
      <th height="30" style="font-weight:400; font-size:18px;">Company Name</th>
      <th style="font-weight:400; font-size:18px;">Job Title</th>
      <th style="font-weight:400; font-size:18px;">Location</th>
      <th style="font-weight:400; font-size:18px;">View</th>
    </tr>
  </thead>
  <tbody>
<?php  
    foreach ($h->result() as $row)  
    {
?>
      <tr>
        <td height="60" style="padding-top:15px;"><?php echo $row->company; ?></td>
        <td style="padding-top:15px;"><?php echo $row->position; ?></td>
        <td style="padding-top:15px;"><?php echo $row->location; ?></td>
        <td style="padding-top:15px;">
          <a href='<?php echo base_url() ?>careers/viewjob?id=<?php echo $row->id; ?>&<?php echo $row->company; ?>&<?php echo $row->location; ?>' class='apply-btn'>View More</a>
        </td>  
      </tr>
<?php                                                                 
    }
?>
  </tbody>
</table>

1 个答案:

答案 0 :(得分:0)

使用$row->id从控制器获取所有数据

<td style="padding-top:15px;"><a href="<?= base_url('careers/viewjob/'. $row->id) ?>" class='apply-btn'>View More</a></td> 

控制器

public function viewjob($id){
 $this->load->model('xjobs');  
 $data['detail']=$this->xjobs->jobdetail($id);  
 $this->load->view('filename', $data); 
}

模型

public function  jobdetail($id){
    return $this->db->get_where('table', ['column' => $id])->row();
}