2017-08-07 65 views
0

我正在使用foreach显示我的详细数据。昨晚的细节显示。当我编辑另一个函数的另一个代码(不是这个细节函数)时,我再次尝试了细节函数,它没有显示任何内容,只是空白。
我不知道什么是错的,因为没有消息错误出现。

这是我的控制器的细节功能

function getDetail($no_form){ 
    $data['detail'] = $this->m_read->getDetail($no_form)->result(); 
    $this->load->view('haha', $data); 
} 

和我的模型细节功能

public function getDetail($no_form) { 
    $this->db->select('input_pen.no_form, input_pen.no_obs, input_pen.catatan, input_pen.tgl_kun, 
         peneliti.inisial, 
         bps.kode_bps, 
         kontak.no_kon, kontak.jabatan, kontak.nama, kontak.telp, 
         lokasi.no_lok, lokasi.kabu, lokasi.keca, lokasi.desa, lokasi.desk, lokasi.utm_y, lokasi.utm_x, 
         tanam.no_tanam, tanam.t_utama, tanam.pola1, tanam.pola2, tanam.pola3, tanam.dlm_olah, tanam.t_tanah, 
         lahan.no_lahan, lahan.jenis, lahan.penggunaan, lahan.kondisi, lahan.drainase, 
         produktivitas.no_prod, produktivitas.p_padi, produktivitas.p_jagung, produktivitas.p_kedelai, produktivitas.pr_lain, produktivitas.prod_lain, produktivitas.pr_lain2, produktivitas.prod_lain2, 
         varietas.no_var, varietas.v_padi, varietas.v_jagung, varietas.v_kedelai, varietas.v_lain, varietas.var_lain, varietas.v_lain2, varietas.var_lain2, 
         pem_padi.np_padi, pem_padi.p_organik, pem_padi.p_urea, pem_padi.p_kcl, pem_padi.p_sp36, pem_padi.p_phonska, pem_padi.p_lain, pem_padi.pp_lain, 
         pem_jagung.np_jagung, pem_jagung.j_organik, pem_jagung.j_urea, pem_jagung.j_kcl, pem_jagung.j_sp36, pem_jagung.j_phonska, pem_jagung.j_lain, pem_jagung.pj_lain, 
         pem_kedelai.np_kedelai, pem_kedelai.k_organik, pem_kedelai.k_urea, pem_kedelai.k_kcl, pem_kedelai.k_sp36, pem_kedelai.k_phonska, pem_kedelai.k_lain, pem_kedelai.pk_lain, 
         pem_lain.np_lain, pem_lain.jenis_l, pem_lain.organik, pem_lain.urea, pem_lain.kcl, pem_lain.sp36, pem_lain.phonska, pem_lain.pupuk_lain, pem_lain.pem_lain'); 

    $this->db->from('input_pen'); 
    $this->db->from('bps'); 
    $this->db->join('peneliti', 'input_pen.no_obs = peneliti.no_obs'); 
    $this->db->join('kontak', 'input_pen.no_kon = kontak.no_kon'); 
    $this->db->join('lokasi', 'input_pen.no_lok = lokasi.no_lok'); 
    $this->db->join('tanam', 'input_pen.no_tanam = tanam.no_tanam'); 
    $this->db->join('lahan', 'input_pen.no_lahan = lahan.no_lahan'); 
    $this->db->join('produktivitas', 'input_pen.no_prod = produktivitas.no_prod'); 
    $this->db->join('varietas', 'input_pen.no_var = varietas.no_var'); 
    $this->db->join('pem_padi', 'input_pen.np_padi = pem_padi.np_padi'); 
    $this->db->join('pem_jagung', 'input_pen.np_jagung = pem_jagung.np_jagung'); 
    $this->db->join('pem_kedelai', 'input_pen.np_kedelai = pem_kedelai.np_kedelai'); 
    $this->db->join('pem_lain', 'input_pen.np_lain = pem_lain.np_lain'); 
    $this->db->where('input_pen.no_form', $no_form); 
    $this->db->where('bps.kab = lokasi.kabu'); 
    $this->db->where('bps.kec = lokasi.keca'); 
    $this->db->where('bps.desa = lokasi.desa'); 
    $q = $this->db->get(); 

    return $q; 
} 

和我的观点

<div class="row"> 
    <?php 
     foreach($detail as $d){ 
    ?> 
    <div class="col-lg-12"> 
      <div class="panel panel-default"> 
        <div class="panel-body"> 
         <div class="row"> 
          <div class="col-lg-9"> 
           <h4><label><p class="glyphicon glyphicon-option-vertical"></p> KONTAK</label></h4> 
           <table> 
           <tr> 
           <div class="form-group"> 
            <input type="text" name="nokon" hidden="true"> 
            <td width="150"><label>Jabatan</label></td> 
            <td><label>:</label></td> 
            <td width="600">&emsp;<?php echo $d->jabatan ?></td> 
           </div> 
           </tr> 
           <tr> 
           <div class="form-group"> 
            <td width="150"><label>Nama</label></td> 
            <td><label>:</label></td> 
            <td width="600">&emsp;<?php echo $d->nama ?></td> 
           </div> 
           </tr> 

但另一个函数日在使用foreach $数据工作正常。

编辑
我试图一步步构建这个功能,直到达到像我上面写的相同的代码。在某些时候,var_dump的数组结果为0,我得到了这个错误允许的内存大小134217728字节耗尽。那我该怎么办?

+0

'var_dump($ data ['detail'])'查看模型在发送给视图之前返回的内容。 – Regolith

+0

它显示数组(0){},这意味着我的模型是错误的? – Kiki

+0

尝试在Mysql中执行查询,然后在此处更新结果。 –

回答

0

首先,检查你的$数据[“细节”] 在控制器

print_r($data['detail']); 
die(); 

加载视图前,请确保您的foreach适当考虑关闭。

+0

它显示数组(0){},这意味着我的模型是错误的? – Kiki

+0

是的,保持print_r并死亡,直到你没有得到结果。 –

+0

我不明白,我该怎么办? – Kiki

0

回答您的编辑:

你的错误:

allowed memory size of 134217728 bytes exhausted

对于这一点,你需要增加你的内存限制。转到您的php.ini文件。编辑memory_limit

这可能可以解决您的问题,但在此之前 尝试使用Xdebug来分析您的脚本并找出所有内存的位置。

因为如果你正在缓存一些严重的数据量,memory_limit是正确的方法。对某些脚本来说,128M是不够的。 512M或1024M通常就足够了,但你必须逐案决定。