批量删除:

首先给每一行加上复选框,也就是在自增长列内加入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. Swift---TextView用法

    1.TextView放在一个NSScrollView中,作为documentView存在. @IBOutlet weak var txtScrollView: NSScrollView! 2.在Tex ...

  2. springMVC-1

    1.springMVC请求由前端到后端的流程 2.配置过程 (1)需要的jar包 spring-aop.jar spring-beans.jar spring-context.jar spring-c ...

  3. Android自定义对话框(Dialog)位置,大小

    代码: package angel.devil; import android.app.Activity;import android.app.Dialog;import android.os.Bun ...

  4. XML类似的解析时,会遇到'XXX' 不是 'NCName' 的有效值的问题

    主要原因是:xml中或类xml的文件中有些关键属性的值不符合NCName命名规范,例如我遇到的是流程的bpmn文件中,id的属性值命名的数字开头. NCName 不包含冒号 (:) 的 XML 名称. ...

  5. js引出函数概念的案例

    js引出函数概念的案例   1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8&q ...

  6. 跟着百度学PHP[4]OOP面对对象编程-6-封装性private

    所谓封装顾名思义,如同箱子般给封装起来.结合前面的来说就是对属性或者方法,封装后的方法或属性只能有类内部进行调用.外部调用不了. 封装性的好处: 1.信息隐藏 2.http://www.cnblogs ...

  7. JS中try....catch

    1.事情还有得挽回,换条路走try { 执行某个逻辑} catch (e) { 出问题,换个逻辑执行} 2.体面的退出try { 正常流程} catch (e) { 弹个框告诉用户不好意思出了点问题 ...

  8. Apache Thrift 环境配置

    在 Ubuntu 14.04 下Apache Thrift 的安装方法: 1安装依赖包 sudo apt-get install libboost-dev libboost-test-dev libb ...

  9. String,StringBuffer,StringBuilder区别

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...

  10. PE355

    似乎我和lyx讨论过这题..? LP可解决..(~0.8s)