0

我在mysql中创建了下表

在此处输入图像描述

我想通过在视图字段中动态使用 id 来检索字段之一,即摘要或作者或标题。这些是我的模型、控制器和视图代码。型号:这是我的型号

 $this->db->select("*"); 
               $this->db->limit(10);  
               $this->db->from("abcde");
     $query = $this->db->query("SELECT * FROM abcde ORDER BY DocumentID ASC"); 

控制器:这是我的控制器

 $this->load->model("Sample_model");  
              $data["fetch_data"] = $this->Sample_model->fetch_data();  
              $data['view']='services_view';
              $this->load->view('load_view', $data);
    return $query; 

查看:这是我的查看页面

 <?php 

           if($fetch_data->num_rows() > 0)  
           {  
                foreach($fetch_data->result() as $row)  
                {  
           ?>  
                <tr>  

                     <td><?php echo $row->Abstract

                </tr>  
           <?php       
                }  
           }  

           ?>  
            </table> 

上面的视图显示了摘要的所有记录。我想在视图中使用 ID,以便我可以在一行中获取特定的摘要。

例如在 id=1 的地方显示摘要或在 id 3 的地方显示作者。重要的一点是我想在 codeigniter 的角度使用 id。我会感谢你的帮助。

4

1 回答 1

0

希望对你有帮助 :

您可以使用custom助手来获得所需的结果

在您的助手文件夹名称中添加一个文件custom_helper.php并自动加载,autoload.php如下所示:

$autoload['helper'] = array('custom');

在您custom_helper.php添加这样的功能:

function get_abstract($id)
{
   $ci = & get_instance();
   $query = $ci->db->get_where('abcde',['id' => $id]); 
   return $query->row()->abstract;   
}

在您看来,get_abstract像这样调用此函数:

   <?php 

    if($fetch_data->num_rows() > 0)  
    {  
        foreach($fetch_data->result() as $row)  
        {  
    ?>  
        <tr>  
            <!-- get abstract by id like this -->
            <td><?php echo get_abstract($row->id);?></td>
        </tr>  
  <?php }  
}?>  

更新:你的控制器应该是这样的:

public function services() 
{ 
    $this->load->model("Sample_model"); 
    $data["fetch_data"] = $this->Sample_model->fetch_data(); 
    $data['view']='services_view'; 
    $this->load->view('load_view', $data); 
}

你的模型fetch_data应该是这样的:

function fetch_data() 
{ 
    $this->db->order_by("DocumentID" ,"ASC");
    $this->db->limit(1);  
    $query = $this->db->get('prlaps');
    return $query; 
} 

使用row()而不是更新result()视图:

<?php 
if($fetch_data->num_rows() > 0)  
{  
    $row = $fetch_data->row();    
    echo get_abstract($row->id);
}?> 
于 2018-06-27T04:58:44.387 回答