Rumah > pembangunan bahagian belakang > tutorial php > Langkah-langkah untuk melaksanakan paging data dan carian menggunakan rangka kerja Yii

Langkah-langkah untuk melaksanakan paging data dan carian menggunakan rangka kerja Yii

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-07-28 19:40:01
asal
1074 orang telah melayarinya

Langkah untuk melaksanakan paging data dan carian menggunakan rangka kerja Yii

Pengenalan:
Dalam aplikasi web moden, paging data dan carian adalah fungsi yang sangat biasa. Sebagai rangka kerja PHP yang berkuasa dan mudah digunakan, rangka kerja Yii menyediakan banyak alat dan kaedah yang mudah untuk melaksanakan halaman dan carian data. Artikel ini akan memperkenalkan langkah-langkah untuk melaksanakan halaman dan carian data menggunakan rangka kerja Yii, dan menyediakan contoh kod yang berkaitan. .

    Langkah 1: Konfigurasikan parameter paging
  1. Dalam fail config/main.php, tambah kod berikut untuk mengkonfigurasi parameter paging:

    'components' => [
        ......
    
        'pagination' => [
            'pageSize' => 10, // 设置每页显示的数据条数
        ],
    
        ......
    ]
    Salin selepas log masuk

    Langkah 2: Laksanakan fungsi paging dalam pengawal

    Dalam pengawal, gunakan ActiveDataProvider kelas untuk mendapatkan data Penomboran. Berikut ialah contoh kod:

    use yiidataActiveDataProvider;
    use appmodelsYourModel;
    
    class YourController extends Controller
    {
        public function actionIndex()
        {
            $dataProvider = new ActiveDataProvider([
                'query' => YourModel::find(), // 替换YourModel为你的模型类名
            ]);
    
            return $this->render('index', [
                'dataProvider' => $dataProvider,
            ]);
        }
    }
    Salin selepas log masuk

    Langkah 3: Paparkan data bernombor dalam paparan

    Dalam fail paparan, gunakan widget GridView untuk memaparkan data bernombor. Berikut ialah kod contoh mudah:

    use yiigridGridView;
    
    echo GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            'id',
            'name',
            'email',
            // 其他需要显示的字段
            // ...
            ['class' => 'yiigridActionColumn'],
        ],
    ]);
    Salin selepas log masuk

    Pada ketika ini, anda telah berjaya melaksanakan fungsi halaman data.


    Langkah carian data:

    Carian data adalah untuk menapis data yang memenuhi syarat berdasarkan kata kunci yang dimasukkan oleh pengguna.

  2. Langkah 1: Buat borang carian
  3. Dalam fail paparan, buat borang untuk menerima kata kunci carian pengguna. Berikut ialah contoh kod:

    use yiihelpersHtml;
    use yiiwidgetsActiveForm;
    
    $form = ActiveForm::begin([
        'action' => ['index'],
        'method' => 'get',
    ]);
    
    echo $form->field($model, 'name');
    echo $form->field($model, 'email');
    // 其他需要搜索的字段
    // ...
    
    echo Html::submitButton('搜索', ['class' => 'btn btn-primary']);
    
    ActiveForm::end();
    Salin selepas log masuk

    Langkah 2: Kendalikan permintaan carian dalam pengawal

    Dalam kaedah actionIndex pengawal, kendalikan permintaan carian pengguna. Berikut ialah contoh kod:

    public function actionIndex()
    {
        $searchModel = new YourSearchModel();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
    
        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ]);
    }
    Salin selepas log masuk

    Langkah 3: Laksanakan logik carian dalam model carian

    Dalam model carian, gunakan pembina pertanyaan untuk melaksanakan logik carian. Berikut ialah contoh kod:

    use yiiaseModel;
    use yiidataActiveDataProvider;
    use appmodelsYourModel;
    
    class YourSearchModel extends YourModel
    {
        public function rules()
        {
            return [
                // 定义规则
            ];
        }
    
        public function search($params)
        {
            $query = YourModel::find();
    
            $dataProvider = new ActiveDataProvider([
                'query' => $query,
            ]);
    
            $this->load($params);
    
            if (!$this->validate()) {
                return $dataProvider;
            }
    
            $query->andFilterWhere(['like', 'name', $this->name])
                  ->andFilterWhere(['like', 'email', $this->email]);
            // 其他需要搜索的字段
            // ...
    
            return $dataProvider;
        }
    }
    Salin selepas log masuk

    Langkah 4: Paparkan hasil carian dalam paparan

    Dalam paparan, kemas kini widget GridView untuk memaparkan hasil carian. Berikut ialah contoh kod:

    echo GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            'id',
            'name',
            'email',
            // 其他需要显示的字段
            // ...
            ['class' => 'yiigridActionColumn'],
        ],
    ]);
    Salin selepas log masuk

    Kesimpulan:

    Melalui langkah di atas, anda telah berjaya melaksanakan fungsi paging dan carian data menggunakan rangka kerja Yii. Ini akan memberikan pengalaman pengguna yang lebih baik untuk aplikasi anda, di samping meningkatkan kecekapan pengurusan data dan pembentangan. Semoga artikel ini dapat membantu anda.


    Rujukan:


    Dokumentasi rangka kerja Yii: https://www.yiiframework.com/doc/guide/2.0/zh-cn

    Contoh kod rangka kerja Yii: https://github.com/yiisoft/yii2- app -maju

Atas ialah kandungan terperinci Langkah-langkah untuk melaksanakan paging data dan carian menggunakan rangka kerja Yii. 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