2016-11-22 4 views
1

PHPコードイグナイターの新機能です。モデルから返されたデータに基づいて異なるdivを表示するにはどうすればよいですか?返されたデータがない場合、このdivが返されます。CIで返されたデータが空の場合、別の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

感謝を反復します。 – Shota

答えて

0

あなたが任意の上に新しいブランドならそれは問題ではありません。 PHPフレームワークまたはいずれかのframeowrkを使用していないか、サーバサイドのコードが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 
} ?> 
+0

私はコントローラでそれを行うことができると思いました。ありがとう私はあなたの答えを受け入れるよ – Shota

+0

いいえ、ビューでも、あなたは歓迎の仲間だよ! –

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 } ?> 
0

あなたはそれが空だかどうかを確認することができます。$vendorが空である

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>"; 
    } 
} 
0

テスト場合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> 
<? }} ?> 
関連する問題