如果CI中返回的数据为空,则显示不同的div

时间:2016-11-22 02:51:05

标签: php jquery codeigniter

我是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(); 
    }

4 个答案:

答案 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>
<? }} ?>