2017-02-02 4 views
0

Я новичок в системе codeigniter. Когда я пытаюсь загрузить параметр в codeigniter, он показывает ошибку, такую ​​как Missing argument 1. Кто-нибудь может помочь решить мою проблему. Вот мой код.Отсутствует аргумент в codeigniter

Это мой код зрения. В видовом коде я называю параметр в «> Подробнее код

<div class="row m-t-20"> 
     <?php foreach($show as $row) { ?> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <a href="#"></a> 
      <div class="recent-pro-box"> 
      <div class="pro-img"> 
      <a href="#"></a> 
       <img src="<?php echo base_url()?>uploads/<?php echo $row['img_path']; ?>" alt="" class="img-responsive" /> 
      </div> 
      <h2 class="title"><?php echo $row['title'];?></h2> 
      <p><?php echo $row['message'];?> ...</p> 
      <div class="more-link"><a href="<?php echo base_url("Helen/viewProjects/".$row['p_id']); ?>">Read More</a></div> 
      </div> 
     </div> 
    <?php }?> 
</div> 

контроллер

public function viewProjects($id) 
    { 
     $data['show']=$this->Selection_Model->fullProjects($id); 
     $this->load->view('topurl'); 
     $this->load->view('nav'); 
     $this->load->view('fullProjects',$data); 
     $this->load->view('footer'); 
    } 

Код модели

public function fullProjects($id){ 
    $this->db->select('*'); 
     $this->db->where('p_id',$id); 
    $this->db->from('projects'); 
    $query = $this->db->get(); 
    $result = $query->row_array(); 
    return $result; 
    } 

Окончательный вид кода

<div class="col-md-7 ab-text"> 
    <?php foreach($show as $row) { ?> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <a href="#"></a> 
      <div class="recent-pro-box"> 
      <div class="pro-img"> 
      <p><?php echo $row['message'];?> ...</p> 
      </div> 
     </div> 
    <?php }?> 
</div> 
</div> 
+0

проверить ' $ show' с помощью 'print_r ($ show)' и проверить, что 'p_id' существует в самом верхнем фрагменте кода –

+0

@deep я проверяю его так, чтобы он показывал ту же ошибку ... его отображение отсутствующих аргументов 1 –

+0

изменить на' return $ query-> result_array(); 'в' fullProjects ($ id) 'model и repeat' print_r ($ show) 'и см. –

ответ

0

В вашем представлении. Не нужно использовать foreach loop.Beacuse в codeigniter row_array набор результатов используется для извлечения только первой согласованной строки. попробовать, как это ..

<div class="col-md-7 ab-text"> 
     <div class="col-md-3 col-sm-6 col-xs-12"> 
      <a href="#"></a> 
      <div class="recent-pro-box"> 
      <div class="pro-img"> 
      <p><?php echo $show['message'];?> ...</p> 
      </div> 
     </div> 
</div> 
</div> 

ИЛИ

Если вы хотите использовать foreach цикл.

В модели изменения

$result = $query->row_array(); 

К

$result = $query->result_array(); 

подробнее см Docs Codeigniter Result Sets

+0

. Я проверяю его так, как показано на рисунке. Отсутствующий аргумент 1 –

+0

использует' result_array' в модели и 'foreach 'loop in view. –

+0

, но если вы используете 'row_array' в модели, вам не нужна' foreach' loop. –

0

Все Кодекса в порядке, за исключением одной линии в модели. Ваша модель должна быть

function fullProjects($id){ 
    $this->db->select('*'); 
    $this->db->where('p_id',$id); 
    $this->db->from('projects'); 
    $query = $this->db->get(); 
    $result = $query->result_array(); # Changed 
    return $result; 
} 

Если вы доступа к данным массива с этим рисунком $row['message'];, Вы должны использовать массив в качестве объективного массива как это $query->result_array();

+0

для одного выбора мы можем использовать $ query-> row_array(); –

+0

Без изменений, если вы использовали 'result_array' тоже –

Смежные вопросы