ajax无刷新分页

时间:2022-10-27 17:33:49

通过ajax传值传到控制器层,在这里我是用yii框架做的,后台的分页都是需要时无刷新分页的,所以没有用它的自带分页


ajax无刷新分页


控制器层

ajax无刷新分页


ajax无刷新分页

模型层


/**
* 用户列表
*/
public function roles($pages){
$connection=Yii::$app->db;
$er=$connection->createCommand("SELECT count(*) as num FROM logins")->queryAll();
$count=$er[0]['num'];
//每页显示条数
$length=5;
//总页数
$sums=ceil($count/$length);
//首页
$page=isset($pages)?$pages:1;
$str="<a href='javascript:void(0)' onclick='ajax_search(1)'> 首页</a>";
//上一页
$prev=$page-1<1?1:$page-1;
//echo $prev;
$str.="<a href='javascript:void(0)' onclick='ajax_search($prev)'> 上一页</a>";
//下一页
$next=$page+1>$sums?$sums:$page+1;
$str.="<a href='javascript:void(0)' onclick='ajax_search($next)'> 下一页</a>";
$str.="<a href='javascript:void(0)' onclick='ajax_search($sums)'> 尾页</a>";
$limit=($page-1)*$length;
$rows=$connection->createCommand("SELECT * FROM logins inner join role on logins.r_id=role.r_id where logins.r_id!=1 limit $limit,$length")->queryAll();
//var_dump($rows);die;
$list['page']=$str;
$list['content']=$rows;
return $list;
}

代码如下:


首先是视图层:

//搜索后分页
function ajax_search(page=1) {
var name = $("#searchs").val();
$.ajax({
type: "GET",
url: "index.php?r=power/pagess",
data: "name="+name+"&page="+page,
success: function (e) {
$("#page").html(e);
// alert(e);
}
})
}

控制器层:
/**
* 管理员列表
*/
public function actionRoles(){
$models=new Power();
$page=\Yii::$app->request->get();
$pages=@$page['page'];
$list=$models->roles($pages);
$lists=$list['content'];
$str=$list['page'];
return $this->renderPartial("role_lists",["users"=>$lists,"str"=>$str]);
}
/**
* 管理员搜索后分页
*/
public function actionPages(){
$model=new Power();
$get=\Yii::$app->request->get();
$pages=@$get['page'];
//echo $name;die;
$return=$model->roles($name);
$lists=$return['content'];
$str=$return['page'];
return $this->renderPartial("pages",["users"=>$lists,"str"=>$str]);
}

模型层:
/** * 管理员列表 */public function roles($pages){    $connection=Yii::$app->db;    $er=$connection->createCommand("SELECT count(*) as num FROM role")->queryAll();    $count=$er[0]['num'];    //每页显示条数    $length=5;    //总页数    $sums=ceil($count/$length);    //首页    $page=isset($pages)?$pages:1;    $str="<a href='javascript:void(0)' onclick='ajax_search(1)'> 首页</a>";    //上一页    $prev=$page-1<1?1:$page-1;    //echo $prev;    $str.="<a href='javascript:void(0)' onclick='ajax_search($prev)'> 上一页</a>";    //下一页    $next=$page+1>$sums?$sums:$page+1;    $str.="<a href='javascript:void(0)' onclick='ajax_search($next)'> 下一页</a>";    $str.="<a href='javascript:void(0)' onclick='ajax_search($sums)'> 尾页</a>";    $limit=($page-1)*$length;    $rows=$connection->createCommand("SELECT * FROM role where r_id!=1 limit $limit,$length")->queryAll();    //var_dump($rows);die;    $list['page']=$str;    $list['content']=$rows;    return  $list;}
最后效果如下:
ajax无刷新分页