yii框架搜索分页modle写法

控制器层

<?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 '搜索',"&nbsp",Html::input('text','goods_name',$where);

// echo '年龄',"&nbsp",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
{

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值