2

我在ms_kategori_material表格中插入了 5 行,并在这里制作了一些模型

function read()
{   
    $query = $this->db->get('ms_kategori_material');

    if($query->num_rows()>0)
    {            
        foreach ($query->result_array() as $value) {
            echo $value['Kode_Kategori_Material_Jasa'];
            echo $value['Nama_Material_Jasa'];
        }
        return $value;
    }
    else
    {
        return null;
    }
}

和控制器

function index()
{
      $data['kirim'] = $this->m_kategorimaterial->read();
      echo $data; //returns KKMJ001batuKKMJ002batuKKMJ003batuKKMJ004batuKKMJ005batuArray
      $this->load->view('v/vkategorimaterial',$data);

}

和意见

<?php  
                if ( !empty($kirim) ) {  
                 $no = 1;   
                 foreach ($kirim as $row) { ?>  
                 <tr id="row">  
                  <td id="no"><?php echo $no;?></td>  
                  <td id="judul"><?php echo $row->Kode_Kategori_Material_Jasa;?></td>  
                  <td id="kategori"><?php echo $row->Nama_Material_Jasa;?></td>  
                    </tr>  ?>
                    <?php  
                     $no++;  
                    }  
                   } else { ?>  
                                <tr id="row">  
                                <td colspan="6" align="center">Data tidak ditemukan</td>  
                               //the screen shows 'data tidak ditemukan' </tr>  
                            <?php  
                   }  
                   ?>  

这太令人困惑了,因为我可以在控制器中看到数据,然后将它们传递给视图,视图说没有收到数据

4

3 回答 3

4

在你的model

if($query->num_rows()>0)
{            
    foreach ($query->result_array() as $value) {
        echo $value['Kode_Kategori_Material_Jasa'];
        echo $value['Nama_Material_Jasa'];
    }
    return $value;
}

错了,应该是

if($query->num_rows()>0)
{            
    return $query->result();
}

在你的controller你应该有

function index()
{
  $this->load->model('m_kategorimaterial'); // load it if it's not autoloaded
  $data['kirim'] = $this->m_kategorimaterial->read();
  $this->load->view('v/vkategorimaterial',$data);
}
于 2012-10-12T00:54:24.600 回答
1

只需重新阅读您的代码。您正在返回 $value 但从未填充它。见下文。

{   
    $query = $this->db->get('ms_kategori_material');

    if($query->num_rows()>0)
    {            
        $value = $query->result(); // or result_array() but you're using it as an object in the view not an array.
        return $value;
    }
    else
    {
        return null;
    }
}
于 2012-10-12T00:49:30.607 回答
1

您实际上并没有在模型中返回结果,

代替

foreach ($query->result_array() as $value) 
{
 echo $value['Kode_Kategori_Material_Jasa'];
 echo $value['Nama_Material_Jasa'];
}

if($query->num_rows()>0)
{            
  return $query->result();
}
于 2012-10-12T09:30:03.657 回答