Rumah > rangka kerja php > YII > Penomboran dalam rangka kerja Yii: Mengoptimumkan paparan data

Penomboran dalam rangka kerja Yii: Mengoptimumkan paparan data

PHPz
Lepaskan: 2023-06-21 14:22:40
asal
870 orang telah melayarinya

Dalam aplikasi web, paparan data ialah fungsi penting dan kerap digunakan. Apabila berhadapan dengan jumlah data yang besar, amat penting untuk memaparkan dan mendapatkan data yang diperlukan. Paging memainkan peranan penting dalam merealisasikan fungsi paparan data.

Rangka kerja Yii ialah rangka kerja aplikasi web yang sangat baik Ia menyediakan fungsi halaman yang berkuasa dan mudah digunakan, yang boleh membantu kami mengoptimumkan kesan paparan data. Jadi, bagaimana untuk menggunakan fungsi paging dalam rangka kerja Yii? Artikel ini akan memperkenalkan secara terperinci cara menggunakan fungsi halaman dalam rangka kerja Yii untuk mengoptimumkan paparan data.

1. Tetapkan paging dalam pengawal

Dalam rangka kerja Yii, kami biasanya melaksanakan pertanyaan data dan kawalan paging dalam pengawal. Pertama, anda perlu menanyakan data dalam tindakan pengawal dan menggunakan alat kelui untuk halaman data.

// 控制器的action中查询数据
public function actionIndex()
{
    $query = News::find();
    
    // 使用yiidataPagination类实现分页功能
    $pagination = new yiidataPagination([
        'totalCount' => $query->count(),
        'pageSize' => 10
    ]);
    
    // 调用query的offset和limit方法对数据进行分页
    $models = $query->offset($pagination->offset)
        ->limit($pagination->limit)
        ->all();
        
    //将查询结果传递给视图
    return $this->render('index', [
        'models' => $models,
        'pagination' => $pagination
    ]);
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menanyakan data, dan kemudian menggunakan kelas yiidataPagination dalam Yii untuk melaksanakan kawalan paging. Antaranya, atribut totalCount mewakili jumlah bilangan data dan atribut pageSize mewakili bilangan item yang dipaparkan pada setiap halaman. Seterusnya, kami memanggil kaedah offset dan had pertanyaan $query untuk melaksanakan paging Offset dan had di sini sepadan dengan LIMIT dan OFFSET dalam pernyataan SQL. Akhirnya, hasil pertanyaan dihantar ke paparan untuk paparan.

2. Gunakan paging dalam paparan

Dalam paparan, kami perlu memaparkan data setiap halaman dan menyediakan operasi untuk mengawal paging, yang memerlukan kami menggunakan penomboran dalam paparan .

<?php
// 在视图中显示数据
foreach($models as $model) {
    // 显示每个数据项
}

// 使用yiiwidgetsLinkPager类实现分页器
echo yiiwidgetsLinkPager::widget([
    'pagination' => $pagination
]);
?>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menggunakan gelung foreach untuk melintasi data setiap halaman dan memaparkan data ke dalam paparan. Kemudian, gunakan kelas yiiwidgetsLinkPager dalam Yii untuk melaksanakan penomboran, di mana atribut penomboran sepadan dengan objek kawalan halaman. Penombor akan secara automatik memaparkan nombor halaman dan operasi yang berkaitan, seperti melompat ke halaman tertentu.

3. Optimumkan kesan paging

Dalam proses menggunakan peranti paging, kami juga boleh membuat beberapa pengoptimuman yang lebih praktikal. Contohnya, anda boleh melaraskan bilangan pautan yang dipaparkan dan menambah operasi membelok halaman depan dan belakang, atau apabila menggunakan teknologi Ajax, kami boleh menggunakan paging tanpa muat semula untuk mengelakkan pemuatan berulang.

//在Pagination中设置页面链接数量
$pagination->maxButtonCount = 5;
//在LinkPager中设置前后翻页按钮
echo yiiwidgetsLinkPager::widget([
    'pagination' => $pagination,
    'prevPageCssClass' => 'pagination-prev',
    'nextPageCssClass' => 'pagination-next'
]);
//在Ajax分页时,添加Js代码实现无刷新分页效果
$js = <<<JS
$('body').on('click', '.pagination a', function (e) {
    e.preventDefault();
    $.ajax({
        url: $(this).attr('href'),
        success: function(data){
            $('#result').html(data);
        }
    });
});
JS;
$this->registerJs($js);
Salin selepas log masuk

Dalam kod di atas, kita boleh melaraskan bilangan pautan dalam kawalan halaman dengan menetapkan sifat maxButtonCount dalam objek yiidataPagination. Apabila menggunakan kawalan yiiwidgetsLinkPager, kita boleh menggunakan sifat prevPageCssClass dan nextPageCssClass untuk mengawal gaya memusing halaman ke hadapan dan ke belakang. Apabila menggunakan teknologi Ajax, kami boleh menambah kod Js pendaftaran dalam paparan untuk mencapai kesan paging tanpa segar semula.

Ringkasan

Dalam rangka kerja Yii, paging merupakan bahagian penting. Menggunakan kawalan paging, anda boleh dengan mudah merealisasikan paparan paging data dan meningkatkan pengalaman pengguna. Dalam pembangunan sebenar, ia perlu digunakan secara fleksibel mengikut keperluan dan senario perniagaan yang berbeza. Artikel ini memperkenalkan cara menggunakan paging dalam rangka kerja Yii Kod contoh hanyalah pelaksanaan asas dan perlu dilaraskan dan dioptimumkan mengikut logik perniagaan tertentu.

Atas ialah kandungan terperinci Penomboran dalam rangka kerja Yii: Mengoptimumkan paparan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan