我是PHP Code Igniter的新手。如何根据模型返回的数据显示不同的div。如果没有返回数据,则返回此div
<div id='error_div' class='error'>No data here</div>
但是如果至少有1个数据。应显示此div:
<?php foreach($vendor as $result){ ?>
<div id='displayed_div'>
<table id="table_list">
<tr>
<td>ID Vendor</td>
<td><input type="text" value="<?php echo $result['id_vendor']; ?>" /></td>
</tr>
<tr>
<td>Vendor</td>
<td><input type="text" value="<?php echo $result['vendor']; ?>"</td>
</tr>
</table>
</div>
<?php }; ?>
我的控制器来获取数据
public function detailed_vendor(){
$id_klasifikasi = $this->uri->segment(3);
$data['vendor'] = $this->model_vendor->show_vendor_by_kls($id_klasifikasi);
$this->load->view('view_vendor_detail',$data);
}
这是我的模特:
function show_vendor_by_kls($id_klasifikasi){
$this->db->select('*');
$this->db->from('vendor');
$this->db->join('vendor_detail', 'vendor.id_vendor = vendor_detail.id_vendor');
$this->db->join('klasifikasi', 'vendor_detail.id_klasifikasi = klasifikasi.id_klasifikasi');
$this->db->where('vendor_detail.id_klasifikasi', $id_klasifikasi);
$this->db->where('vendor.st_aktif', 1);
return $this->db->get()->result_array();
}
答案 0 :(得分:0)
如果您在任何 PHP Framework 上全新或不使用任何frameowrk,则无关紧要,只要服务器端的代码是< em> PHP语言,然后在变量上使用empty
关键字进行检查是可以接受的:
<?php
if ( !empty( $vendor ) ) {
foreach($vendor as $result){ ?>
<div id='displayed_div'>
<table id="table_list">
<tr>
<td>ID Vendor</td>
<td><input type="text" value="<?php echo $result['id_vendor']; ?>" /></td>
</tr>
<tr>
<td>Vendor</td>
<td><input type="text" value="<?php echo $result['vendor']; ?>"</td>
</tr>
</table>
</div>
<?php
}
}
else { ?>
<div id='error_div' class='error'>No data here</div>
<?php
} ?>
答案 1 :(得分:0)
您应该在视图文件中渲染之前检查返回数据。
<?php
if(!empty($vendor)) {
foreach($vendor as $result){ ?>
<div id='displayed_div'>
<table id="table_list">
<tr>
<td>ID Vendor</td>
<td><input type="text" value="<?php echo $result['id_vendor']; ?>" /></td>
</tr>
<tr>
<td>Vendor</td>
<td><input type="text" value="<?php echo $result['vendor']; ?>"</td>
</tr>
</table>
</div>
<?php }
} else { ?>
<div id='error_div' class='error'>No data here</div>
<php } ?>
答案 2 :(得分:0)
您可以检查它是否为空:
if(empty($vendor)){
echo "<div id='error_div' class='error'>No data here</div>";
} else {
foreach($vendor as $result){
echo "<div id='displayed_div'></div>";
}
}
答案 3 :(得分:0)
在使用$vendor
进行迭代之前测试foreach
是否为空
<? if( empty($vendor) ) {?>
<div id='error_div' class='error'>No data here</div>
<? } else {
foreach($vendor as $result){ ?>
<div id='displayed_div'>
<table id="table_list">
<tr>
<td>ID Vendor</td>
<td><input type="text" value="<?php echo $result['id_vendor']; ?>" /></td>
</tr>
<tr>
<td>Vendor</td>
<td><input type="text" value="<?php echo $result['vendor']; ?>" </td>
</tr>
</table>
</div>
<? }} ?>