PHP学习笔记之批量删除

第一步

<?php

$db = new MySQLi("localhost","root","123","mydb");
$sql = "insert into kemu values(‘‘,‘基础知识‘)";
$db->query($sql);
echo $db->insert_id; //取上一次添加数据的主键值

include("DBDA.class.php");
$db = new DBDA();

$sql = "select * from Info";
var_dump($db->Query($sql));

$sql = "insert into kemu values(‘‘,‘测试‘)";
$db->Query($sql,0);
echo $db->dbconnect->insert_id;
?>

第二步

<h1>主页面</h1>
<form action="piliangshanchu.php" method="post">
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
    <td>代号</td>
    <td>姓名</td>
    <td>性别</td>
    <td>民族</td>
    <td>生日</td>
    <td>操作</td>
</tr>
<?php
//造对象
$db = new MySQLi("localhost","root","123","mydb");
//判断是否出错
!mysqli_connect_error() or die("连接失败!");
//写SQL语句
$sql = "select * from Info";
//执行SQL语句
$result = $db->query($sql);

//读取数据
$attr = $result->fetch_all();

//遍历数组,显示
foreach($attr as $v)
{

    $sex = $v[2]?"男":"女";

    $sql = "select Name from Nation where Code = ‘{$v[3]}‘";
    $r = $db->query($sql);
    $a = $r->fetch_row();

    echo "
    <tr>
    <td>
    <input class=‘ck‘ name=‘ck[]‘ type=‘checkbox‘ value=‘{$v[0]}‘ />
    {$v[0]}</td>
    <td>{$v[1]}</td>
    <td>{$sex}</td>
    <td>{$a[0]}</td>
    <td>{$v[4]}</td>
    <td><a href=‘delete.php?code={$v[0]}‘>删除</a><a href=‘update.php?code={$v[0]}‘>修改</a></td>
</tr>
    ";
}
?>
<tr>
<td><input type="checkbox" onclick="CheckAll(this)" />全选</td>
<td><input type="submit" value="批量删除" /></td>
</tr>
</table>
<a href="add.php">添加数据</a>
</form>
</body>
<script type="text/javascript">
function CheckAll(a)
{
    var ck = document.getElementsByClassName("ck");
    //a.checked;
    //document.getElementById().removeAttribute
    for(var i=0;i<ck.length;i++)
    {
        if(a.checked)
        {
            ck[i].setAttribute("checked","checked");
        }
        else
        {
            ck[i].removeAttribute("checked");
        }
    }

}
</script>

第三步b

<?php
class DBDA
{
    public $host="localhost";    //服务器地址
    public $uid="root";             //用户名
    public $pwd="123";             //密码

    public $dbconnect; //连接对象

    //操作数据库的方法
    //$sql代表需要执行的SQL语句
    //$type代表SQL语句的类型,1代表查询,2代表增删改
    //$dbname代表要操作的数据库名称
    //如果是查询,返回二维数组
    //如果是增删改,返回true或false
    function Query($sql,$type=1,$dbname="mydb")
    {
        //造连接对象
        $this->dbconnect = new MySQLi($this->host,$this->uid,$this->pwd,$dbname);
        //判断是否出错
        if(!mysqli_connect_error())
        {
            //如果连接成功,执行SQL语句
            $result = $this->dbconnect->query($sql);

            //根据语句类型判断
            if($type==1)
            {
                //如果是查询语句,返回二维数组
                return $result->fetch_all();
            }
            else
            {
                //如果是其他语句,返回true或false
                return $result;
            }
        }
        else
        {
            return "连接失败!";
        }
    }
}

第四步

<?php
$ck = $_POST["ck"];
include("DBDA.class.php");
$db = new DBDA();

foreach($ck as $v)
{
    $sql = "delete from Info where Code=‘{$v}‘";
    $db->Query($sql,0);
}

header("location:main.php");
时间: 2024-08-05 03:39:32

PHP学习笔记之批量删除的相关文章

Elasticsearch学习笔记-04.2删除文档

删除文档非常的简单而直观.下面的例子示意了如何删除我们之前创建的ID为2的客户文档: DELETE /customer/external/2?pretty 要删除所有满足检索条件的文档可以参考 [Delete By Query API].不过这个API并没有太大价值,因为删除整个索引要比删除索引中的满足条件的所有的文档来的更高效. 本文系本人根据官方文档的翻译,能力有限.水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸. https://www.elastic.c

Angularjs学习笔记2_添加删除DOM元素

1.调用element方法     angular.element(html) 把字符串或dom对象转化成一JQuery对象, angular.element(document.getElementById("control")).append(newHtml); 在id为control<div>元素里内添加新对象,新对象在添加前需$compile编译过 <div ng-controller="c10_1" class="frame&qu

mybatis 学习笔记(4) —— 批量新增数据

1.业务是从前台传入List<T> ,在controller层接受参数,并进行批量新增操作. 2.需要处理的细节 a) mybatis可以支持批量新增,注意数据表需要将主键设置成自增列. b) 由于spring mvc 无法将参数[{id:0,text:'a'},{id:1,text:'b'}] json字符串转换为对应的List<T>,因此需要自己手动封装一个方法用于将传入的字符串转换为泛型集合 3.具体实现步骤 a) js提交 需要注意的是必须在参数名上加引号 var dept

Pandas学习笔记,如何删除DataFrame中的一列(行)

同样,引入一个DataFrame d = ts.get_hist_data('600848', start='2015-01-05', end='2015-01-09') data = pd.DataFrame(d) print(data.columns) Index(['open', 'high', 'close', 'low', 'volume', 'price_change', 'p_change', 'ma5', 'ma10', 'ma20', 'v_ma5', 'v_ma10', 'v

Linux学习笔记--rm命令(删除文件或目录)

rm:英文名remove,删除的意思. 1. 命令格式: rm [选项] 文件或目录 2. 常用选项: "rm -f" 强行删除,忽略不存在的文件,不提示确认.(f为force的意思) "rm -i" 进行交互式删除,即删除时会提示确认.(i为interactive的意思) "rm -r" 将参数中列出的全部目录和子目录进行递归删除.(r为recursive的意思) "rm -v" 详细显示删除操作进行的步骤.(v为verbo

网上图书商城项目学习笔记-015删除和批量删除购物车条目

一.流程分析 二.代码 1.view层 (1)list.jsp 1 <a href="<c:url value='/CartItemServlet?method=batchDelete&cartItemIds=${item.cartItemId }'/>">删除</a> 2 3 <a href="javascript:batchDelete();">批量删除</a> 4 /* 5 * 批量删除 6

MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除

回到目录 说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的mongodb仓储中并没有对批量更新和批量删除进行实现,而今天在项目中,还是实现了这种批量的操作,并且已经通过测试,下面公开一下源代码 public void Insert(IEnumerable<TEntity> item) { var list = new List<WriteModel<TEntity>>(); foreach (

docker学习笔记-批量删除停止运行的容器

root用户用以下命令 docker rm `docker ps -a|awk '{print $1}' |grep [0-9a-z]` 1.docker rm 支持多个容器id 用··(tab上面那个键) 将多个容器连接起来进行批量删除 2. awk 命令将ps得到的所有容器ID,使用print打印出awk出来的数据的容器ID那一列 3. 用grep 命令进行删除,匹配小写的字母和数字

sqlite学习笔记11:C语言中使用sqlite之删除记录

最后一节,这里记录下如何删除数据. 前面所有的代码都继承在这里了,在Ubuntu14.04和Mac10.9上亲测通过. #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db" sqlite3 *db = NULL; char* sql = NULL; char *zErrMsg = NULL; con