关闭

Yii2.0实现AJAX搜索、分页

标签: yii搜索数据分页ajax
2199人阅读 评论(1) 收藏 举报

//1.首先判断搜索的数据是否为空

$username = \Yii::$app->request->post('username');  //接收搜索的数
//2.定义一个Where条件 目的是让Sql语句 恒成立

$where = 1;

//3.判断数据是否存在,拼接搜索的语句。如果多条件搜索,则直接 and  连接 即可

if(!empty($username)){
            $where = " username like '%$username%'";
        }

//4.接收页码
        $page = \Yii::$app->request->post('pages');
        //判断当前页码是否存在
        $pages = isset($page) ? $page : 1 ;
        //计算总条数
        $count = Username::find()->count();
        //设置每一页显示的条数
        $pageSize = 3 ;
        //计算总页数
        $pageSum = ceil($count/$pageSize);
        //计算偏移量
        $offset = ($pages - 1)*$pageSize;
        //计算上一页 下一页
        $last = $pages<=1 ? 1 : $pages-1 ;
        $next = $pages>=$pageSum ? $pageSum : $pages+1 ;
        //拼接A链接
        $str = '';
        $str .= "<a href='javascript:void(0);' onclick='page(1)'>首页</a>";
        $str .= "<a href='javascript:void(0);' onclick='page($last)'>上一页</a>";
        $str .= "<a href='javascript:void(0);' onclick='page($next)'>下一页</a>";
        $str .= "<a href='javascript:void(0);' onclick='page($pageSize)'>尾页</a>";
        //查询分页后的数据信息
        $sql = "select * from username where $where limit $offset,$pageSize";
        $userInfo = Username::findBySql($sql)->asArray()->all();
<pre name="code" class="php">       //搜索后关键字标红
      foreach($userInfo as $key => $value){
         $userInfo[$key]['username'] = str_replace($username,"<font color='red'>$username</font>",$value['username']);
      }
<pre name="code" class="php">
  //渲染模板
     return $this->renderPartial('index',['userInfo'=>$userInfo,'page'=>$str]);




二,HTML页面展示如下

1.Script标签中书写如下

<script>
        function page(page){
            //获取搜索的数据
            var username = $("#username").val();
            //发送AJAX请求
            $.ajax({
             url:"?r=index/index",
             data:{pages:page,username:username},
             type:"POST",
             success:function(msg){
                    $("#body").html(msg);
                }
             });
        }
    </script>

//直接输出页码即可

<?= $page;?>

注意事项 : 点击搜索和分页,所触发的函数都是Page 方法。

<button onclick="page()">搜索</button>

2
0
查看评论

Yii2.0实现AJAX搜索、分页

//1.首先判断搜索的数据是否为空 [php] view plain copy $username = \Yii::$app->request->post('username');  //接收搜索的...
  • wangjiuwang
  • wangjiuwang
  • 2016-07-25 12:38
  • 2003

yii ajax 分页

$criteria = new CDbCriteria(); $dataProvider = new CActiveDataProvider('UserModel', array( 'pagination'=>array( &#...
  • u012603025
  • u012603025
  • 2016-02-16 15:59
  • 848

Ajax无刷新分页偷懒版(该例子写于YII框架下,其他框架请自行修改部分代码)

首先,我们来说一下,什么样的操作才叫无刷新,就是页面小部分需要修改的内容被替换,整体页面框架不动的一种操作。那么,我们已经知道了只有部分页面内容会被替换,与其在一个页面里死磕代码,不如把这个页面拆成两个部分页面,一部分用来显示页面不刷新的内容,一部分用来显示页面需要刷新的内容,两个页面拼凑起来就达到...
  • sinat_29673403
  • sinat_29673403
  • 2017-03-30 14:46
  • 628

yii2实现数据分页

利用yii里面的yii\data\Pagination类分页 gii生成模型News;手动增加自定义需求函数 namespace app\models; use yii\db\ActiveRecord; class News extends ActiveRecord{ public stat...
  • zhangfei8625
  • zhangfei8625
  • 2015-01-04 19:38
  • 2161

yii框架ajax分页的使用

第一步:在 Yii 框架自带的搜索和分页正常运行的情况下,在视图层 的下方写上以下代码 beginBlock('abc'); ?>     $(document).on('click','.pagination a'...
  • lihe460186709
  • lihe460186709
  • 2016-10-12 21:21
  • 807

yii框架搜索后分页

控制器里这样写,Shop必须是gii生成的model。 use app\models\Shop; use yii\data\Pagination;  public function actionShow(){     ...
  • xia13100004562
  • xia13100004562
  • 2016-12-21 13:42
  • 904

yii2中的分页

利用yii做分页,其中有分装好的分页,按照我的步骤来,利用它的封装做分页非常简单; 话不多说,看步骤: 1 在框架中配置好你的数据库、用户名、密码 在common/config/main-local.php 中 <?php return [ 'components...
  • json_ligege
  • json_ligege
  • 2016-06-24 10:13
  • 783

Yii Ajax 分页

在网上我有搜索很多,找过很多有些写的很简单,没有一个是pfgk
  • houxianyj
  • houxianyj
  • 2014-04-23 08:28
  • 1209

Yii2.0实现AJAX搜索、分页

Yii2.0实现AJAX搜索、分页、搜索后关键字标红
  • wplblog
  • wplblog
  • 2016-07-13 07:43
  • 2199

yii2.0 使用分页封装类 分页

第一步:连接收据库,原生代码封装类连的数据库,因为是框架,不能是框架的数据库 第二步:封装的类放在web下面,入口文件,可以自定义;命名 使用封装类 第三步:注意文件名的路径,跳转上一页下一页的路径 下面可以对比看到 类名 Db.class.php 连接数据库 <?php /** *...
  • li772030428
  • li772030428
  • 2016-09-23 00:19
  • 759
    个人资料
    • 访问:126556次
    • 积分:2105
    • 等级:
    • 排名:千里之外
    • 原创:94篇
    • 转载:1篇
    • 译文:1篇
    • 评论:49条
    最新评论