Home >php教程 >PHP开发 >Yii framework search paging module writing method

Yii framework search paging module writing method

高洛峰
高洛峰Original
2016-12-23 17:10:001178browse

Controller layer

<?PHP
namespace frontend\controllers;
header(&#39;content-type:text/html;charset=utf-8&#39;);
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(&#39;goods_name&#39;);
  //分页
  $test=new Goods();  //实例化model模型
  $arr=$test->find()->where([&#39;like&#39;,&#39;goods_name&#39;,"$w"]); //加上搜索的条件where
  $pages = new Pagination([
    &#39;totalCount&#39; => $arr->count(),
    &#39;pageSize&#39;  => 4 //每页显示条数
  ]);
  $models = $arr->offset($pages->offset)
    ->limit($pages->limit)
    ->all();
  return $this->render(&#39;goodslist&#39;, [ //前台的页面
    &#39;data&#39; => $models,
    &#39;pages&#39; => $pages,
    &#39;where&#39; =>$w   //把搜索的条件显示到前面
  ]);
     
  }
}

View layer

<?php
use yii\widgets\ActiveForm;
use yii\helpers\Url;
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>商品的展示列表</title>
</head>
<body>
<?php
$form=ActiveForm::begin([
  &#39;action&#39;=>Url::toRoute([&#39;goods/goodslist&#39;]),
  &#39;method&#39;=>&#39;get&#39;,
]);
echo &#39;搜索&#39;," ",Html::input(&#39;text&#39;,&#39;goods_name&#39;,$where);
// echo &#39;年龄&#39;," ",Html::input(&#39;text&#39;,&#39;age&#39;,$where[&#39;age&#39;]);
echo Html::submitButton(&#39;搜索&#39;);
ActiveForm::end();
?>
  <table>
  <?php foreach ($data as $key => $val): ?>
    <tr>
      <td>商品名称是:<?= $val[&#39;goods_name&#39;]?></td>
    </tr>
  <?php endforeach ?>
  </table>
</body>
</html>
<?php
// use yii\widgets\LinkPager;
echo LinkPager::widget([
  &#39;pagination&#39; => $pages,
  &#39;nextPageLabel&#39; => &#39;下一页&#39;, 
  &#39;prevPageLabel&#39; => &#39;上一页&#39;, 
]);
?>

Model layer

<?php
namespace frontend\models;
use Yii;
class Goods extends \yii\db\ActiveRecord
{
}

The above is the Yii framework search paging module writing method introduced by the editor. I hope it will be helpful to you. If you have any questions, please leave me a message , the editor will reply to everyone in time. I would also like to thank you all for your support of the PHP Chinese website!

For more articles related to Yii framework search paging module writing methods, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn