<meta charset="utf-8">
<?php
//链接数据库
$link = mysqli_connect('127.0.0.1','root','root','mone');
//设置字符集
mysqli_query($link,'set names utf8'); //接收当前页
$page = empty($_GET['page'])?1:$_GET['page'];
//求出总条数
$sql = "select * from user";
$res = mysqli_query($link,$sql);
$count = mysqli_num_rows($res);
//每页显示多少条
$length = 3;
//求出总页数
$num_page = ceil($count/$length);
//偏移量
$limit = ($page-1)*$length;
//查询
$sql2 = "select * from user limit $limit,$length";
$res2 = mysqli_query($link,$sql2);
while($a=mysqli_fetch_assoc($res2)){
$data['data'][] = $a;
} $data['home_page'] = 1;
$data['prev_page'] = $page-1<1?1:$page-1;
$data['next_page'] = $page+1>$num_page?$num_page:$page+1;
$data['last_page'] = $num_page; ?>
<table>
<tr>
<th>选择</th>
<th>ID</th>
<th>用户名</th>
<th>密码</th>
<th>性别</th>
<th>年龄</th>
<th>班级</th>
<th>手机</th>
<th>编辑</th>
</tr>
<div id="main">
<?php foreach($data['data'] as $k=>$v){ ?>
<tr id="<?php echo $v['user_id'];?>">
<td><input type="checkbox" name="check" value="<?php echo $v['user_id'];?>"></td>
<td><?php echo $v['user_id'];?></td>
<td><?php echo $v['username'];?></td>
<td><?php echo $v['pwd'];?></td>
<td><?php echo $v['sex'];?></td>
<td><?php echo $v['age'];?></td>
<td><?php echo $v['class_name'];?></td>
<td><?php echo $v['phone'];?></td>
<td>
<a href="">修改</a>
</td>
</tr>
<?php } ?>
</div>
</table> <button onclick="fun1()">全选</button>
<button onclick="fun2()">全不选</button>
<button onclick="fun3()">反选</button>
<button onclick="fun4()">单删/批删</button>
<script> function fun1(){
var check = document.getElementsByName('check');
for(var i=0;i<check.length;i++){
if(check[i].checked==false){
check[i].checked=true;
}
}
} function fun2(){
var check = document.getElementsByName('check');
for(var i=0;i<check.length;i++){
if(check[i].checked==true){
check[i].checked=false;
}
}
} function fun3(){
var check = document.getElementsByName('check');
for(var i=0;i<check.length;i++){
if(check[i].checked==true){
check[i].checked=false;
}else{
check[i].checked=true;
}
}
} function fun4(){
var arr = document.getElementsByName('check');
var ar = [];
for(var i=0;i<arr.length;i++){
if(arr[i].checked==true){
ar.push(arr[i].value);
}
} var id = ar.toLocaleString();
if(id==''){
alert('请先选择一项');
return false;
}else{
//ajax请求
var ajax = new XMLHttpRequest();
ajax.open("get","delete.php?id="+id);
ajax.send();
ajax.onreadystatechange=function(){
if(ajax.readyState==4 && ajax.status==200){
//alert(ajax.responseText);
//成功
if(ajax.responseText==1){ for(var i=0;i<ar.length;i++){
var tr=document.getElementById(ar[i]);
tr.remove();
} }
}
}
}
}
</script>

delete.php

<?php
//接收传值
$id = $_GET['id'];
//链接数据库
$link = mysqli_connect('127.0.0.1','root','root','mone');
//设置字符集
mysqli_query($link,'set names utf8');
//拼接sql
$sql = "DELETE FROM user WHERE user_id in ($id)";
if(mysqli_query($link,$sql)){
echo 1;
}else{
echo 2;
}

ajax全选、全不选、反选、单删/批删的更多相关文章

  1. jquery实现分页+单删批删

    //定义一个分页的方法 public function fenye(){ //查询满足条件的总条数 $count = M("regis")->count(); //设置每页显 ...

  2. springMvc接收ajax数组参数,以及jquery复选框选中、反选、全选、全不选

    一.复选框选中.反选.全选.全不选 html代码: <input type='checkbox' name='menuCheckBox' value='10' >苹果 <input ...

  3. jquery中的全选、反选、全不选和单删、批删

    HTML页面 <!doctype html><html lang="en"><head> <meta charset="UTF- ...

  4. js正则、js全选、反选、全不选、ajax批删

    <button onclick="fun1()">全选</button><button onclick="fun2()">全 ...

  5. jquery 全选 全不选 反选

    1.概述 在项目中经常遇到列表中对复选框进行勾选操作,全选...反选.. 2. example <html> <body> <form id="test-for ...

  6. 利用jQuery实现CheckBox全选/全不选/反选

    转自:http://www.cnblogs.com/linjiqin/p/3148259.html jQuery有些版本中实现CheckBox全选/全不选/反选会有bug,经测试jquery-1.3. ...

  7. jquery的全选/全不选/反选以及attr添加checked属性失败的解决办法

    如下图: <head> <title></title> <style type="text/css"> div { border: ...

  8. Jq 遍历 全选 全不选 反选

    //全选 全不选 $('#checkAll').click(function () { //判断是否被选中 var bischecked = $('#checkAll').is(':checked') ...

  9. JS实现全选、不选、反选

    思路:1.获取元素.2.用for循环历遍数组,把checkbox的checked设置为true即实现全选,把checkbox的checked设置为false即实现不选.3.通过if判断,如果check ...

随机推荐

  1. 补充:CSS选择器样式的规范!

    css----页面样式,美化页面 css样式的三个规则 1内联式:直接写在html标签中 <p style="color:red"> 直接对html标签使用 style ...

  2. stm32f7699遇到的犯二问题

    没有看到stlink的驱动,难道板子坏了?? 结果:USB线的问题,换了一根用过的线,就行了:

  3. 再次重温《Right here waiting》

    记得高中时候听到这首曲子(当时还让同桌帮我抄了这首曲子,后来这个本子也不知道扔到哪里去了), 前天偶尔在虾米遇到这首曲子,过去的青涩岁月历历在目,自己手动打打歌词,一方面是为了重温这首曲子,另一方面, ...

  4. JavaScript 世界万物诞生记

    一. 无中生有 起初,什么都没有.造物主说:没有东西本身也是一种东西啊,于是就有了null: 现在我们要造点儿东西出来.但是没有原料怎么办?有一个声音说:不是有null嘛?另一个声音说:可是null代 ...

  5. python摸爬滚打之day026----网络通信流程

    1.了解概念 C\S架构: 客户端(client)和服务端(server)之间的通信. B\S架构: 浏览器(browser)和服务端之间的通信. 为什么只用一个浏览器就可以访问很多网站?  这是因为 ...

  6. java八大数据类型

    基本数据类型以值传递的方式进行传递,String以值传递的方式传递,其他的以地址的方式进行传递 分别是:byte  short  int  long  float  double char boole ...

  7. SpringCloud微服务高级

    分布式配置中心 什么是配置中心 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring c ...

  8. 001-CPU多级缓存架构

    一.基本概念 大致关系: CPU Cache --> 前端总线 FSB (下图中的Bus) --> Memory 内存 CPU 为了更快的执行代码.于是当从内存中读取数据时,并不是只读自己 ...

  9. C#基础加强(3)之值、引用类型及结构体

    值.引用类型 介绍 引用类型派生自 System.Object ,而值类型均隐式派生自 System.ValueType . 其实 System.ValueType 也是继承自 System.Obje ...

  10. Python Built-in Function 学习笔记

    Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...