在codeigniter中缺少参数

时间:2017-02-02 13:02:32

标签: codeigniter

我是codeigniter框架的新手。当我尝试在codeigniter中加载参数时,它显示错误,如缺少参数1.任何人都可以帮助解决我的问题。这是我的代码。

这是我的观看代码。 在视图代码中,我调用“>了解更多

中的参数
<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>

2 个答案:

答案 0 :(得分:0)

在您的视图中。不需要在codeigniter foreach中使用row_array loop.Beacuse结果集用于仅获取第一个匹配的行。试试这个......

<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();

TO

$result = $query->result_array();

有关详情,请参阅文档Codeigniter Result Sets

答案 1 :(得分:0)

除了Model中的一行外,所有代码都没问题。你的模型应该是

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();