как просмотреть отдельные поля таблицы в коде - PullRequest
0 голосов
/ 27 июня 2018

Я создал следующую таблицу в MySQL

enter image description here

Я хочу получить одно из полей, т. Е. Аннотацию, автора или заголовок, используя идентификатор динамически в поле просмотра. Это моя модель, контроллер и вид кода. Модель: Это моя модель

 $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.Важная точка здесь, где я хочу использовать id с учетом codeigniter. Я буду благодарен вам за помощь.

1 Ответ

0 голосов
/ 27 июня 2018

Надеюсь, это поможет вам:

Вы можете использовать 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);
}?> 
...