使用PHP和JS实现复选框的全选、取消功能传给数据库并更新

先贴代码

//js文件贴在后面
<script src="check.js" type="text/javascript"></script>
<?php

/**
 * Created by PhpStorm.
 * User: BAI
 * Date: 2019/7/12
 * Time: 11:13
 */

header("Content-Type:text/html;charset=utf-8");

//require 'connect.php';
$con =  mysqli_connect('127.0.0.1','root','root','test');//连接数据库
$con->set_charset("utf8");
if(mysqli_connect_error($con)){
    echo "Connect Error";
}
    $sql = "SELECT * FROM `test` WHERE 1";
    $result = $con->query($sql);
    //index.php就是本文
    if($result){
        echo "<form action='index.php' method='post'><table border='1'><tr><td></td><td>ID</td><td>numbers</td></tr>";
        while($row = mysqli_fetch_assoc($result)){
            echo "<tr><td><input type='checkbox' name='ID[]' value='".$row['id']."'></td><td>".$row['id']."</td><td>".$row['numbers']."</td></tr>";
        }
        echo "<tr><td><input type='checkbox' id='all_check' name='all_check' onclick='check_all()'>全選</td></tr>";
        echo"<tr><td></td><td><select name='sel'><option value='已報名'>已報名</option><option value='通過初試'>通過初試</option><option value='通過復試'>通過復試</option></select></td><td><input type='submit'></td></tr></table></form>";
    }
    else{
        echo "sql执行失败";
    }
    //太菜了,不知道怎么解决,于是用@来忽略notice,欢迎指导
if(@$_POST['ID'] != ""){
    $a = implode(',',@$_POST['ID']);
    $num = $_POST['sel'];
    //var_dump($a);
    $sqli = "UPDATE `test` SET `numbers`= '$num' WHERE `id` in (".$a.")";
    //echo $a."<br>";
    $result = mysqli_query($con,$sqli);
    var_dump($result);
    if($result){
        echo "修改成功";
        header('location: '.$_SERVER['HTTP_REFERER']);//刷新页面
    }
    else{
        echo "修改失敗";
    }
}
else{
        echo "請選擇";
}

下面是js的代码

//功能
//当全选按钮被按下,调用这个函数,遍历复选框的那个数组,设置为true
function check_all() {
    var all = document.getElementById('all_check');//全选按钮
    var check = document.getElementsByName('ID[]');//几个复选框
    if(all.checked == true){
        for(var i = 0;i < check.length;i++){
            check[i].checked = true;
        }
    }
    else{
        for(var i = 0;i < check.length;i++){
            check[i].checked = false;
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值