yii框架里ajax分页和搜索 单删 批删
//视图层:
//上面
<center> <div id="div1"> <input type="text" name="search" value="{{$search}}"/><button onclick="page(<?php echo $page?>)">搜索</button> <table border="1">
//中间
<td><a href="javascript:void(0)" id="<?php echo $val["id"]?>" onclick="del(this);">删除</a></td></table>
<input type="button" value="批量删除" onclick="check_del();">
当前页<?php echo $page?>共<?php echo $sum_page?> <a href="javascript:void (0)" onclick="page(1)">首页</a> <a href="javascript:void (0)" onclick="page(<?php echo $last?>)">上一页</a> <a href="javascript:void (0)" onclick="page(<?php echo $next?>)">下一页</a> <a href="javascript:void (0)" onclick="page(<?php echo $sum_page?>)">尾页</a> </div></center> //下面
<script> //分页 function page(page){ var search=document.getElementsByName("search")[0].value; var ajax=new XMLHttpRequest(); ajax.open("get","{{url("show")}}?page="+page+"&search="+search); ajax.send(); ajax.onreadystatechange=function(){ if(ajax.readyState==4&ajax.status==200){ document.getElementById("div1").innerHTML=ajax.responseText; } } }
//单删 function del(obj){ var ids=obj.id;//接id ajax=new XMLHttpRequest();//创建ajax ajax.open("get","?r=home/del&ids="+ids); ajax.send(null); ajax.onreadystatechange=function(){ if(ajax.readyState==4&&ajax.status==200){ location.href="?r=home/show"; } }; }
//批删 function check_del() { var ids=document.getElementsByName("check[]");//接id var str="";//定义一个空变量 for(var i=0;i<ids.length;i++) { if(ids[i].checked) { str=str+","+ids[i].value; } } new_str=str.substr(1);//截取 // alert(new_str); ajax=new XMLHttpRequest(); ajax.open("get","?r=home/delany&new_str="+new_str); ajax.send(null); ajax.onreadystatechange=function(){ if(ajax.readyState==4&&ajax.status==200){ location.href="?r=home/show"; } } }
</script>//控制器里面方法
//分页查询开始 public function show(){ $search = isset($_GET["search"])?$_GET["search"]:"";//判断是否接过搜索值 if($search) { $arr = DB::select("select * from user where username like "%$search%"");//带搜索条件查询 }else{ $arr = DB::table("user")->get();//不带搜索条件查询 } //总条数 $count = count($arr); //每页条数 $mys = 3 ; //计算总页数 $zys = ceil($count/$mys); //获取当前页 $page = isset($_GET["page"])?$_GET["page"]:1; //偏移量 $pyl = ($page-1)*$mys; if($search) { $arr = DB::select("select * from user where username like "%$search%" limit $pyl,$mys");//带搜索分页条件查询 }else{ $arr = DB::table("user")->skip($pyl)->take($mys)->get();//带分页条件查询 } //上一页 $last = $page-1<1?1:$page-1; //下一页 $next = $page+1>$zys?$zys:$page+1; // print_R($next);die; return view("user/show",["res"=>$arr,"search"=>$search,"last"=>$last,"next"=>$next,"sum_page"=>$zys,"page"=>$page]); } //分页查询结束
//单删 public function actionDel($ids=""){ $request=Yii::$app->request; $db=Yii::$app->db; $id=$request->get("ids"); $res=$db->createCommand("delete from goods where id="$id"")->execute(); //添加日志 $session=Yii::$app->session; $suser=$session["us"]; $content="删除了"."id为".$id."的数据"; $time=date("Y-m-d H:i:s",time()); $brr=$db->createCommand()->insert("active",[ "suser"=>$suser, "content"=>$content, "time"=>$time, ])->execute(); if($res && $brr){ echo 1; } else{ echo 2; } } //批删 public function actionDelany(){ $request=Yii::$app->request; $db=Yii::$app->db; $ids=$request->get("new_str"); //print_r($ids);die; $res=$db->createCommand("delete from goods where id in($ids)")->execute(); //添加日志 $session=Yii::$app->session; $suser=$session["us"]; $content="删除了"."id为".$ids."的数据"; $time=date("Y-m-d H:i:s",time()); $brr=$db->createCommand()->insert("active",[ "suser"=>$suser, "content"=>$content, "time"=>$time, ])->execute(); if($res&&$brr){ echo 1; } else{ echo 2; } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。