2016-09-26 17 views
0

私のviewは次のようになります。Codeigniter:クエリ結果の最初の行を検出する方法

<div class="carousel-inner"> 
    <?php 
     foreach($news_data as $nws){ 
    ?> 
    <div class="item **If this is the first row, then echo active**"> 
     <div class="col-md-12 news-item" style="padding-left: 0;"> 
      <p><?php echo $nws->news_desc; ?></p> 
     </div> 
    </div> 
    <?php } ?> 
</div> 

モデル:

function get_news_update() 
{ 
    $this->db->select('news_desc'); 
    $this->db->from('news'); 
    $this->db->where('stat', '1'); 
    $this->db->order_by('id', 'desc'); 

    $query = $this->db->get(); 
    return $query->result(); 
} 

<div class="itemを参照してください。最初の行がquery resultの場合は、item activeになります。

どうすればよいですか?

答えて

1

は、あなたの更新されたコードの私の知識を1として

 <div class="carousel-inner"> 
     <?php 
      $i = 0; 
      foreach($news_data as $nws){ 
      // it should be $i. not $i%2 right ? 
      if($i == 0) 
      { 
       $class="item active"; 
      } 
       else 
{ 
$class = "item"; 
} 
     ?> 
     <div class="<?php echo $class; ?>"> 
      <div class="col-md-12 news-item" style="padding-left: 0;"> 
       <p><?php echo $nws->news_desc; ?></p> 
      </div> 
     </div> 
     <?php $i++; } ?> 
    </div> 
+0

答えをありがとう。 '$ i%2 == 0'を' $ i == 0'に変更し、 '$ class = 'item active''を修正してください。うまく動作します。私はそれを修正しました。 – Raj

+0

レコード数が10であれば1番目がアクティブになり、2番目がアイテムを取得するように、複数のレコードに対して%を追加しました。いずれにせよ感謝@Raj –

2

このようなあなたのビューを変更します。ここでは

<div class="carousel-inner"> 
    <?php 
     foreach($news_data as $key => $nws){ 
    ?> 
    <div class="item <?php echo $key == 0 ? "active":""; ?>"> 
     <div class="col-md-12 news-item" style="padding-left: 0;"> 
      <p><?php echo $nws->news_desc; ?></p> 
     </div> 
    </div> 
    <?php } ?> 
</div> 
+0

こんにちはタハ、シンプルなアイデアをありがとうございます。あなたのコードはおそらく最もシンプルで少ない。私はあなたのコードを使用しています。 – Raj

0

で、あなたはそのが働いていないなら、私に知らせてcode.Please以下を探しています。

function get_news_update() 
{ 
    $this->db->select('news_desc'); 
    $this->db->from('news'); 
    $this->db->where('stat', '1'); 
    $this->db->order_by('id', 'desc'); 

    $query = $this->db->get(); 
    return $query->first_row(); 
} 
+0

こんにちはAnkit、私はちょうど最初の項目を表示中に最初の行を検出する必要があります。最初の行だけではありません。とにかく、Dhanyabad ... – Raj

0

常に最初の結果を返すrow()関数を使用できます。より多くの情報については Model.php

function get_news_update(){ 
    $this->db->select('news_desc'); 
    $this->db->from('news'); 
    $this->db->where('stat', '1'); 
    $this->db->order_by('id', 'desc'); 
    $query = $this->db->get(); 

    //check if exist 
    if (isset($query->row())){ 
     return $query->row(); 
    } 
} 

あなたはhere

View.php

<div class="carousel-inner"> 
    <div class="item **If this is the first row, then echo active**"> 
     <div class="col-md-12 news-item" style="padding-left: 0;"> 
      <p><?php echo $nws->news_desc; ?></p> 
     </div> 
    </div> 
</div> 
関連する問題