php数据访问(批量删除)
批量删除:
首先给每一行加上复选框,也就是在自增长列内加入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数据访问(批量删除)的更多相关文章
- PHP数据访问批量删除(10261101)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- MYSQLi数据访问批量删除
<link href="../bootstrap.min.css" rel="stylesheet" type="text/css" ...
- PHP批量写入数据、批量删除数据
批量插入可以参考$sql = "insert into data (id,ip,data) values ";for($i=0;$i<100;$i++){$sqls[]=& ...
- curl post 请求 es 数据 REST 批量删除
curl -d "keyword=牛" http://api.com/path/index curl模拟http发送get或post接口测试 - 一生守候 - 博客园 http ...
- Oracle批量删除表格数据
在开发阶段往Oracle数据库中多个表格中导入了许多测试数据,倘若一张张表执行"truncate table tablename"语句显得十分繁琐.在PL/SQL中可以用代码进行批 ...
- Mybatis 实现批量插入和批量删除源码实例
Mybatis 实现批量插入数据和批量删除数据 学习内容: 准备工作 1.数据库新建表 2.新建 Maven 项目和设置编译版本及添加依赖 3.新建 db.properties 4.新建 mybati ...
- EntityFramework:支持同一事务提交的批量删除数据实现思路
一切从一段代码说起... 下面一段代码是最近我在对一EF项目进行重构时发现的. protected override void DoRemove(T entity) { this.dbContext. ...
- Hibernate 数据的批量插入、更新和删除
4.2 Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作.例如调用Session的delete ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
随机推荐
- Swift---TextView用法
1.TextView放在一个NSScrollView中,作为documentView存在. @IBOutlet weak var txtScrollView: NSScrollView! 2.在Tex ...
- springMVC-1
1.springMVC请求由前端到后端的流程 2.配置过程 (1)需要的jar包 spring-aop.jar spring-beans.jar spring-context.jar spring-c ...
- Android自定义对话框(Dialog)位置,大小
代码: package angel.devil; import android.app.Activity;import android.app.Dialog;import android.os.Bun ...
- XML类似的解析时,会遇到'XXX' 不是 'NCName' 的有效值的问题
主要原因是:xml中或类xml的文件中有些关键属性的值不符合NCName命名规范,例如我遇到的是流程的bpmn文件中,id的属性值命名的数字开头. NCName 不包含冒号 (:) 的 XML 名称. ...
- js引出函数概念的案例
js引出函数概念的案例 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8&q ...
- 跟着百度学PHP[4]OOP面对对象编程-6-封装性private
所谓封装顾名思义,如同箱子般给封装起来.结合前面的来说就是对属性或者方法,封装后的方法或属性只能有类内部进行调用.外部调用不了. 封装性的好处: 1.信息隐藏 2.http://www.cnblogs ...
- JS中try....catch
1.事情还有得挽回,换条路走try { 执行某个逻辑} catch (e) { 出问题,换个逻辑执行} 2.体面的退出try { 正常流程} catch (e) { 弹个框告诉用户不好意思出了点问题 ...
- Apache Thrift 环境配置
在 Ubuntu 14.04 下Apache Thrift 的安装方法: 1安装依赖包 sudo apt-get install libboost-dev libboost-test-dev libb ...
- String,StringBuffer,StringBuilder区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...
- PE355
似乎我和lyx讨论过这题..? LP可解决..(~0.8s)