2014-09-27 94 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项/添加类等

相关问题