> php教程 > PHP开发 > 본문

Yii 프레임워크 검색 페이징 모듈 작성 방법

高洛峰
풀어 주다: 2016-12-23 17:10:00
원래의
1154명이 탐색했습니다.

컨트롤러 레이어

<?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   //把搜索的条件显示到前面
  ]);
     
  }
}
로그인 후 복사

뷰 레이어

<?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;, 
]);
?>
로그인 후 복사

모델 레이어

<?php
namespace frontend\models;
use Yii;
class Goods extends \yii\db\ActiveRecord
{
}
로그인 후 복사

위는 에디터가 소개한 yii 프레임워크 검색입니다. 페이징 모듈 작성 방법이 도움이 될 것입니다. 질문이 있는 경우 메시지를 남겨주시면 시간 내에 답변해 드리겠습니다. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!

yii 프레임워크 검색 페이징 모듈 작성 방법에 대한 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿