我正在使用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"> <?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"> <?php echo $d->nama ?></td>
</div>
</tr>
但另一个使用foreach $数据的函数运行正常。
的编辑
我试图逐步构建这个函数,直到达到像我上面写的相同的代码。在某些时候,var_dump中的数组结果为0,我得到此错误允许的内存大小为134217728字节耗尽。那我该怎么办?
答案 0 :(得分:0)
首先,检查您的$ data ['detail'] 在加载控制器中的视图之前
print_r( $data['detail']);
die();
确保您的foreach在视野中正确关闭。
答案 1 :(得分:0)
回复你的编辑:
您的错误:
允许的内存大小为134217728字节耗尽
为此,您需要增加内存限制。转到您的php.ini
文件。修改memory_limit
。
今年5月可以解决您的问题,但在此之前 尝试使用Xdebug来分析您的脚本并找出所有内存的去向。
因为如果您正在缓存大量数据,memory_limit
是正确的方法。对于某些脚本,128M是不够的。 512M或1024M通常就足够了,但你必须逐案决定。