批量删除:

首先给每一行加上复选框,也就是在自增长列内加入checkbox。因为这里可以多选,也可以单选,所以在传值的时候需要传一个数组来进行处理,所以复选框name的值设定一个数组。传值都是传的value值,so,value=索引0  。

然后用<form>表单进行传值,在表单内添加一个提交按钮,点击提交之后,带着所选的值跳到处理界面。因为是数组,所以用表单括起来传value值(所被选中的主键值)

<form action="plshanchu.php" method="post">

<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" onclick="quanxuan()" />newsid</td>
<td>title</td>
<td>author</td>
<td>source</td>
<td>content</td>
<td>time</td>
<td>update</td>
<td>delete</td>
</tr> <?php $db = new MySQLi("localhost","root","159357","newssystem"); $sql = "select * from news where ".$tj." and ".$tj2; //echo $sql; $result = $db->query($sql); $attr = $result->fetch_all(); foreach($attr as $v)
{
echo"<tr>"; $newauthor = str_replace($zzz,"<mark>{$zzz}</mark>",$v[2]);
echo "<td><input type='checkbox' name='sz[]' value='{$v[0]}' class='qx' />{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$newauthor}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
<td>{$v[5]}</td>
<td><a href='xiugai.php?a={$v[0]}'>update</a></td>
<td><a href='shanchu.php?a={$v[0]}' onclick=\"return confirm('主人真的不要我了吗?')\">delete</a></td>"; echo"</tr>";
} ?> </table> <input type="submit" value="批量删除" onclick="return confirm('真不要了吗?')" /> </form>

处理界面:

因为传过来的是数组,所以要定义一个数组变量来进行接收。用if判断防止报错(因为直接取值取不到)。用foreach把取到的数组主键值交给一个变量V ,连接数据库,写sql语句(从news表中删除条件为选中的主键值),执行sql语句,跳转查看页面

缺点:执行多次就要多次访问数据库。

$attr=array();
if(!empty($_POST["sz"]))
{
$attr = ($_POST["sz"]);
} $db = new MySQLi("localhost","root","159357","newssystem"); foreach($attr as $v)
{ $sql = "delete from news where newsid='{$v}'"; $db->query($sql); header("location:chakan.php");
}

第二种方法:

enplode:拆分字符串返回数组

implode:将数组拼成字符串

分割符','

用implode方法,将取到的数组拼成字符串,放到一个变量里边。然后写sql语句(从news表中一次删除取到的字符串),返回chakan页面。

$attr=array();
if(!empty($_POST["sz"]))
{
$attr = ($_POST["sz"]);
} $db = new MySQLi("localhost","root","159357","newssystem"); foreach($attr as $v)
{
$atr = implode("','",$attr); $sql = "delete from news where newsid='{$atr}'"; $db->query($sql); header("location:chakan.php");
}

php数据访问(批量删除)的更多相关文章

  1. PHP数据访问批量删除(10261101)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. MYSQLi数据访问批量删除

    <link href="../bootstrap.min.css" rel="stylesheet" type="text/css" ...

  3. PHP批量写入数据、批量删除数据

    批量插入可以参考$sql = "insert into data (id,ip,data)  values ";for($i=0;$i<100;$i++){$sqls[]=& ...

  4. curl post 请求 es 数据 REST 批量删除

    curl  -d  "keyword=牛" http://api.com/path/index curl模拟http发送get或post接口测试 - 一生守候 - 博客园 http ...

  5. Oracle批量删除表格数据

    在开发阶段往Oracle数据库中多个表格中导入了许多测试数据,倘若一张张表执行"truncate table tablename"语句显得十分繁琐.在PL/SQL中可以用代码进行批 ...

  6. Mybatis 实现批量插入和批量删除源码实例

    Mybatis 实现批量插入数据和批量删除数据 学习内容: 准备工作 1.数据库新建表 2.新建 Maven 项目和设置编译版本及添加依赖 3.新建 db.properties 4.新建 mybati ...

  7. EntityFramework:支持同一事务提交的批量删除数据实现思路

    一切从一段代码说起... 下面一段代码是最近我在对一EF项目进行重构时发现的. protected override void DoRemove(T entity) { this.dbContext. ...

  8. Hibernate 数据的批量插入、更新和删除

    4.2  Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作.例如调用Session的delete ...

  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   ...

随机推荐

  1. winServer2003除默认端口外的其他端口只能本地访问,关闭防火墙即可

    winServer2003除默认端口外的其他端口只能本地访问,关闭防火墙即可

  2. Spark之命令

    Spark之命令 1.spark运行模式有4种: a.local 多有用测试, b. standalone:spark 集群模式,使用spark自己的调度方式. c. Yarn: 对Mapreduce ...

  3. maven打包步骤_maven 构建项目

    maven打包 1:先在pom文件中添加下面配置  jar <build>        <plugins>            <!-- compiler插件, 设定 ...

  4. Apache常用2种工作模式prefork和worker比较

    Apache两种常用工作模式:prefork和worker. prefork MPM prefork是一个非线程型的.预派生的MPM,使用多个进程,每个进程在某个确定的时间只单独处理一个连接,效率高, ...

  5. Jquery中的事件和动画

    在学习Jquery中的过程中我们绝大部分都用到了事件的操作,也可以说事件是Jquery中必不可少的一部分,我们常见的一些事件有单击事件,鼠标事件,键盘事件等等.在Jquery中的学习中为了能使让页面以 ...

  6. HDU 5120 A Curious Matt(2014北京赛区现场赛A题 简单模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5112 解题报告:扫一遍 #include<cstdio> #include<cstr ...

  7. swing复制文本框内容

    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); //得到系统剪贴板 String text = jTex ...

  8. lenovo c340 centos 改键【尚无解】

    公司给陪了个一体机. 键盘很无语,fn的位置在左下角.反人类设计. 破解: 1. bios,不幸不支持. 2. 改建: http://www.bitscn.com/hardware/nb/437603 ...

  9. 网页的title左边的小图片怎么添加

    首先,代码中的title标签里是不能加图片的.但是浏览器标提栏前面是可以加一个小图标的. 解决方案:第一步,做一个16 X 16像素的ico格式的图标.具体操作方法是,先在Photoshop中做一个透 ...

  10. js判断移动端是否安装某款app的多种方法

    本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 ? || u.indexOf(; //android终端或者uc浏览器 ...