yii框架搜索分页modle写法

5年以前  |  阅读数:650 次  |  编程语言:PHP 

控制器层


    <?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
    {
    }

以上所述是小编给大家介绍的yii框架搜索分页modle写法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例