Maison > développement back-end > tutoriel php > Étapes pour mettre en œuvre la pagination et la recherche de données à l'aide du framework Yii

Étapes pour mettre en œuvre la pagination et la recherche de données à l'aide du framework Yii

WBOY
Libérer: 2023-07-28 19:40:01
original
1034 Les gens l'ont consulté

Étapes pour implémenter la pagination et la recherche de données à l'aide du framework Yii

Introduction :
Dans les applications Web modernes, la pagination et la recherche de données sont des fonctions très courantes. En tant que framework PHP puissant et facile à utiliser, le framework Yii fournit de nombreux outils et méthodes pratiques pour implémenter la pagination et la recherche de données. Cet article présentera les étapes de mise en œuvre de la pagination et de la recherche de données à l'aide du framework Yii, et fournira des exemples de code pertinents.

  1. Étapes de la pagination des données :
    La pagination des données consiste à diviser une grande quantité de données en petits morceaux et à afficher une certaine quantité de données dans chaque page pour améliorer la vitesse de chargement des pages et l'expérience utilisateur.

    Étape 1 : Configurer les paramètres de pagination
    Dans le fichier config/main.php, ajoutez le code suivant pour configurer les paramètres de pagination :

    'components' => [
        ......
    
        'pagination' => [
            'pageSize' => 10, // 设置每页显示的数据条数
        ],
    
        ......
    ]
    Copier après la connexion

    Étape 2 : Implémenter la fonction de pagination dans le contrôleur
    Dans le contrôleur, utilisez ActiveDataProvider classe pour obtenir des données paginées. Voici un exemple de code :

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

    Étape 3 : Afficher les données paginées dans la vue
    Dans le fichier de vue, utilisez le widget GridView pour afficher les données paginées. Voici un exemple de code simple :

    use yiigridGridView;
    
    echo GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            'id',
            'name',
            'email',
            // 其他需要显示的字段
            // ...
            ['class' => 'yiigridActionColumn'],
        ],
    ]);
    Copier après la connexion

    À ce stade, vous avez implémenté avec succès la fonction de pagination de données.

  2. Étapes de recherche de données :
    La recherche de données consiste à filtrer les données qui remplissent les conditions en fonction des mots-clés saisis par l'utilisateur.

    Étape 1 : Créer un formulaire de recherche
    Dans le fichier de visualisation, créez un formulaire pour recevoir les mots-clés de recherche de l'utilisateur. Voici un exemple de code :

    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();
    Copier après la connexion

    Étape 2 : Gérer la demande de recherche dans le contrôleur
    Dans la méthode actionIndex du contrôleur, gérez la demande de recherche de l'utilisateur. Voici un exemple de code :

    public function actionIndex()
    {
        $searchModel = new YourSearchModel();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
    
        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ]);
    }
    Copier après la connexion

    Étape 3 : Implémenter la logique de recherche dans le modèle de recherche
    Dans le modèle de recherche, utilisez le générateur de requêtes pour implémenter la logique de recherche. Voici un exemple de code :

    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;
        }
    }
    Copier après la connexion

    Étape 4 : Afficher les résultats de la recherche dans la vue
    Dans la vue, mettez à jour le widget GridView pour afficher les résultats de la recherche. Voici un exemple de code :

    echo GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            'id',
            'name',
            'email',
            // 其他需要显示的字段
            // ...
            ['class' => 'yiigridActionColumn'],
        ],
    ]);
    Copier après la connexion

    Conclusion :
    Grâce aux étapes ci-dessus, vous avez implémenté avec succès les fonctions de pagination et de recherche de données à l'aide du framework Yii. Cela offrira une meilleure expérience utilisateur pour votre application, tout en améliorant également l’efficacité de la gestion et de la présentation des données. J'espère que cet article pourra vous être utile.

    Références :

    • Documentation du framework Yii : https://www.yiiframework.com/doc/guide/2.0/zh-cn
    • Exemples de code du framework Yii : https://github.com/yiisoft/yii2- app -avancé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal