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

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

WBOY
WBOYasal
2023-07-28 18:25:14959semak imbas

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, // 设置每页显示的数据条数
        ],
    
        ......
    ]

    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,
            ]);
        }
    }

    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'],
        ],
    ]);

    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();

    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,
        ]);
    }

    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;
        }
    }

    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'],
        ],
    ]);

    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!

Kenyataan:
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