您的位置:首页 > 编程语言 > PHP开发

yii框架搜索分页modle写法

2016-12-19 09:51 211 查看
控制器层

<?php

namespace frontend\controllers;

header('content-type:text/html;charset=utf-8');

use Yii;

use yii\base\InvalidParamException;

use yii\web\BadRequestHttpException;

use yii\web\Controller;

use yii\filters\VerbFilter;

use yii\filters\AccessControl;

use common\models\LoginForm;

use frontend\models\PasswordResetRequestForm;

use frontend\models\ResetPasswordForm;

use frontend\models\SignupForm;

use frontend\models\ContactForm;

use frontend\models\Goods; //加载jidian 表的model

use yii\data\Pagination;  //yii框架中使用分页

use frontend\web\myclass\QRcode;//加载生成二维码类

/**

 * Site controller

 */

class GoodsController extends Controller  

{

    public $enableCsrfValidation = false;

    //商品展示列表

    public function actionGoodslist()

    {

    //接收过来搜索的条件

    $w=yii::$app->request->get('goods_name');

    //分页

    $test=new Goods();    //实例化model模型

    $arr=$test->find()->where(['like','goods_name',"$w"]); //加上搜索的条件where

    $pages = new Pagination([

        

        'totalCount' => $arr->count(),

        'pageSize'   => 4  //每页显示条数

    ]);

    $models = $arr->offset($pages->offset)

        ->limit($pages->limit)

        ->all();

    return $this->render('goodslist', [  //前台的页面

        'data' => $models,

        'pages'  => $pages,

        'where' =>$w     //把搜索的条件显示到前面

    ]);

        

    }

}

视图层

<?php

use yii\widgets\ActiveForm;

use yii\helpers\Url;

use yii\helpers\Html;

use yii\widgets\LinkPager;

?>

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>商品的展示列表</title>

</head>

<body>

<?php

$form=ActiveForm::begin([

    'action'=>Url::toRoute(['goods/goodslist']),

    'method'=>'get',

]);

echo '搜索'," ",Html::input('text','goods_name',$where);

// echo '年龄'," ",Html::input('text','age',$where['age']);

echo Html::submitButton('搜索');

ActiveForm::end();

?>

    <table>

    <?php foreach ($data as $key => $val): ?>

        <tr>

            <td>商品名称是:<?= $val['goods_name']?></td>

        </tr>

    <?php endforeach ?>

        

    </table>

</body>

</html>

<?php

// use yii\widgets\LinkPager;

echo LinkPager::widget([

    'pagination' => $pages,

    'nextPageLabel' => '下一页',

    'prevPageLabel' => '上一页',

]);

?>

model层

<?php

namespace frontend\models;

use Yii;

class Goods extends \yii\db\ActiveRecord

{

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: