2014-09-27 66 views
1

我怎樣才能顯示數據爲每個我們說奇數條目? 所以首先記錄Z,第二記錄做Y,第三記錄做Z,第四做Y. 或者讓我說我從模型中得到每第n個記錄,而另一個做n-1?使用clistview顯示每個第n個數據的數據

public function getNewItem()//for main page grids 
    { 
     $criteria = new CDbCriteria; 

     $criteria->order = 'posted_date DESC'; 
     $criteria->compare('product_status',"Y"); 
     $criteria->compare('product_approval_status',"Y");  
//???? 

     return new CActiveDataProvider($this, array(
       'criteria'=>$criteria, 
       'pagination'=>false, 
     )); 

    } 

回答

0

有兩種方法可以做到這一點;取決於你的過濾需要多複雜;

你可以修改你的標準第一種方法比較僅奇數或偶數的記錄,像這樣

 $criteria = new CDbCriteria; 

     $criteria->order = 'posted_date DESC'; 
     $criteria->compare('product_status',"Y"); 
     $criteria->compare('product_approval_status',"Y"); 

     $criteria->addCondition('MOD(id,2)=1','AND'); 

或任何該等條件來篩選得到的記錄對應的子集

第二種方法是對其進行過濾在CListView中使用的部分文件中,我通常使用此方法添加不用於過濾的附加代碼,例如,您希望每四個元素添加一個新行,爲此,請使用itemView屬性中提供的$index$widget變量在t他CListView與這樣的事情打電話。

<?php if(($index)%6 == 0 || $index == 0){ ?> 
    <div class="row"> 
<?php } ?> 

    // Regular view rendering code 
    // ... 

<?php if(($index+1)%6 == 0 || ($index+1) == $widget->dataProvider->itemCount){ ?> 
    </div> 
<?php } 

在這裏,我已經使用這個插入一個新的div在列表中,或者如果它的第一個/最後一個項目 這是項目的條件呈現有用的,每6項/添加類等

相關問題