2014-11-06 2 views
0

DB에서 가져 오지 못한 내용에 페이지 매김을 추가하려면 어떻게해야합니까? 예를 들면 : 나는 20 번 출력 한 줄을 어떻게 페이징 할 수 있습니까? 페이지 매거진을 만들려고 시도하지만 페이지 수가 제대로 표시되지만 각 페이지마다 모든 콘텐츠가 표시됩니다. 루프의데이터베이스가없는 Yii의 페이지 매김

코드 :

for ($i = 0; $i < 5; $i++) { 
    $day = mktime(0, 0, 0, date('m'), date('d') - $i); 
    $elems = ContentItem::dayNews($day); 
    $test[] = $elems; 
    if (count($elems)) { 
     $date = Y::date_print($day, 'd-m-Y'); 
     $arr = explode('-', $date); 
     ?> 
     <div class="news_dhead"> 
      <?= Y::isToday($day) ? 'Today, ' : '' ?> 
      <?= Y::isYesterday($day) ? 'Yesterday, ' : '' ?> 
      <? echo $arr[0] . ' ' . Y::months($arr[1]) . ' ' . $arr[2] ?> 
     </div> 
     <div class="news_dcoll"> 
     <? 
     foreach ($elems as $key => $elem) { 
      ?> 
      <div class="ib news_delem"> 
       <? //echo $key;?> 
       <div class="news_ddate"><?= Y::date_print($elem->cdate, 'H.i') ?></div> 
       <a href="<?= $elem->urlNews ?>" class="tdn"><?= $elem->title ?></a> 
      </div> 
     <? 
     } 
     ?></div><? 
    } 
} 

그래서 당신이 볼 수있는 방법, 각 행은 DB에서 얻을 수있는 데이터의 목록입니다. 추신. 루프는 다른 남자를 씁니다.

+0

데이터 제공자에게 사용자 정의 데이터를 추가하고 [CListView] (http://www.yiiframework.com/doc/api/1.1/CListView)/[CGridView] (http : //www.yiiframework.com/doc/api/1.1/CGridView) 페이지 매김을 해 주시겠습니까? 비슷한 대답이 있습니다 : [CDataProvider를 사용하여 Yii에서 내 DataProvider를 만드는 방법?] (http://stackoverflow.com/questions/23739588/how-to-create-my-own-dataprovider-in-yii-using- cdstaprovider) – Stu

+0

@Stu,하지만 격자 또는 목록보기를 사용하지 않습니다. 배열에 모든 항목을 추가하고 배열 bu에서 호출기를 호출하려고해도 동일한 결과가 나타납니다. – nowiko

+0

CListView는 배열을 순환하고 각 줄을 출력합니다 한 번에 페이지 매김을 자동으로 수행하므로 가장 쉬운 방법이라고 확신합니다. – Stu

답변

1

위젯은 Yii 데이터 공급자를 사용하여 데이터를 표시합니다. 다른 데이터 제공자가 있습니다

  1. CActiveDataProvider (CActiveDataProvider가 액티브 기반으로하는 데이터 제공자를 구현한다.)
  2. CArrayDataProvider (CArrayDataProvider 원시 데이터 배열에 기초한 데이터의 공급자를 구현한다.)
  3. CDataProvider (CDataProvider가있다 IDataProvider 인터페이스를 구현하는 기본 클래스입니다.) 당신이 경우에 CDataProvider 또는 CArrayDataProvider을 사용할 수 있습니다

당신이 어떤 DB 데이터를 가지고 THR을 통과하지 귀하의 위젯을 사용하십시오 (또는 어디서든 사용하십시오)

+0

표시기 데이터가 포함 된 호출기를 검색하는 방법과 호출기 만 필요하기 때문에이 공급자를 사용할 필요가 없습니다. 내 질문에 데이터를 나타내는 루프를 추가합니다 ... – nowiko

+0

@excluded_once 음, 어때요 http://www.yiiframework.com/doc/api/1.1/CLinkPager? –

+0

기준과 함께 페이지 매김 클래스를 사용해야하는 경우 어떤 차이가 있습니까? – nowiko

관련 문제