pdo.php

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>pdo</title>
</head>
<body>
<p>用户表</p>
<table width="1000px" border="1px" cellspacing="0">
<tr>
<th>id</th>
<th>用户名</th>
<th>密码</th>
<th>删除</th>
</tr>
<?php
$pdo = new PDO('mysql:host=localhost;dbname=test','root','jia6181813');
$sql = "SELECT * FROM user";
$obj = $pdo->query($sql);
//fetch和fetchAll不能同时使用,第一个会覆盖第二个
$results = $obj->fetchAll(2);
// echo "<pre>";
// print_r($results);
// echo "</pre>";
//fetch用while
/*while ($row = $obj->fetch()) {
echo "<tr>";
echo "<td>$row[id]</td>";
echo "<td>$row[name]</td>";
echo "<td>$row[password]</td>";
echo "</tr>";
}*/
//fetchAll用foreach
foreach ($results as $row) {
echo "<tr id=$row[id]>";
echo "<td>$row[id]</td>";
echo "<td>$row[name]</td>";
echo "<td>$row[password]</td>";
// echo "<td><a href='delete.php?id={$row[id]}'>删除</a></td>";
echo "<td><a href='javascript:' class='del' num={$row[id]}>删除</a></td>";
echo "</tr>";
} ?>
</table> </body>
<script>
var objs = document.getElementsByClassName('del');
for (var i = 0; i < objs.length; i++) {
objs[i].onclick = function(){
var id = this.getAttribute('num');
//生成ajax对象
var xhr = new XMLHttpRequest();
//js get轻轨delete.php文件,同时给该文件传递一个id值,方便删除数据
xhr.open("get","delete.php?id="+id,true);
//ajax开始异步连接并请求delete.php?id=1
xhr.send();
//js监听整个通讯过程
xhr.onreadystatechange = function(){
if (xhr.readyState==4) {
//responseText能接收php echo的数据
r = xhr.responseText;
// alert(r);
if (r=='1') {
//获取tr一行的id
var tr = document.getElementById(id);
//将这一行隐藏
tr.style.display = 'none';
}
}
}
}
} </script>
</html>

delete.php

 <?php
$id = $_GET['id'];
$pdo = new PDO('mysql:host=localhost;dbname=test','root','123');
$sql = "DELETE FROM user WHERE id={$id}";
//echo "$pdo->exec($sql)";
//$obj = $pdo->query($sql); // echo "<script>alert('删除成功')</script>";
//echo "<script>location='pdo.php'</script>";
//if括号里面语句会执行,不需要提前query()
if ($pdo->query($sql)) {
echo 1;
}else{
echo 0;
} ?>

PHP学习笔记(15)PDO数据库操作+AJAX无刷新技术删除用户的更多相关文章

  1. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  2. Java 学习笔记(16)——Java数据库操作

    数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据 ...

  3. Python学习笔记六:数据库操作

    一:Python操作数据库的流程 二:开发环境准备 1:开发工具PyCharm 2:Python操作mysql的工具:需要安装Python-Mysql Connector,网址:https://sou ...

  4. 什么是Ajax无刷新技术?

    浏览器实例化一个Ajax对象,这个对象发送一个HTTP请求,并且携带一定的参数,传输到后台.后台服务器接收这些参数,同时过滤一下传过来的参数,做出逻辑判断.如果需要数据库操作参与,就要取出数据,格式化 ...

  5. [Python] 学习笔记之MySQL数据库操作

    1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择 ...

  6. Python学习笔记15—mysql的操作

    安装 Python-MySQLdb pip install mysql-Python Python对mysql的操作 建立一个实验数据库demo mysql> create database d ...

  7. Python学习笔记21:数据库操作(sqlite3)

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言. SQLite作为后端数据库,能够搭配Python建站点,或者制作有数据存储需求的工具. SQLite还在其他领域有广泛 ...

  8. python学习笔记(十)完善数据库操作

    1.cur = coon.cursor(cursor=pymysql.cursors.DictCursor)的用法 建立游标,指定cursor类型返回的是字典,如果不指定类型,返回的是元组类型数据 i ...

  9. PHP学习笔记(16)AJAX无刷新技术--深入理解

    Ajax里的onreadystatechange的作用是什么 发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态,XMLHttpRequest对象提供了onrea ...

随机推荐

  1. Kali之Metasploit Framework环境配置

    运行Metasploit Framework 依照Kali Linux网络服务策略,Kali没有自动启动的网络服务,包括数据库服务在内.所以为了让Metasploit以支持数据库的方式运行有些必要的步 ...

  2. ab并发负载压力测试

    一.ab 0.安装ab压力测试软件 [root@a2 conf]# yum install httpd-tools -y #查看版本 [root@a2 conf]# ab -V This is Apa ...

  3. 流畅的python第十七章使用期物处理并发

    从 Python 3.4 起,标准库中有两个名为 Future 的类:concurrent.futures.Future 和asyncio.Future.这两个类的作用相同:两个 Future 类的实 ...

  4. Maven nexus 安装nexus私服出现的两个问题

    1. 在win10中安装nexus时提示:wrapper | OpenSCManager failed - 拒绝访问. (0x5) 主要是没有权限.需要以管理员的身份运行 如果你是直接点击 start ...

  5. VB6.0 中 碰到 提示rs对象关闭,不允许操作, 吃一堑长一智

    VB6.0 中 碰到 提示rs对象关闭,不允许操作,  吃一堑长一智 如果碰到 这个错误提示 则请检查 你执行的每一个语句中的数据类型,包括 如果有存储过程的话,还要检查 存储过程中每一个变量和数据表 ...

  6. [Python爬虫] 之十一:Selenium +phantomjs抓取活动行中会议活动信息

    一.介绍 本例子用Selenium +phantomjs爬取活动行(http://www.huodongxing.com/search?qs=数字&city=全国&pi=1)的资讯信息 ...

  7. ElasticSearch reindex报错:the final mapping would have more than 1 type

    ElasticSearch reindex报错:the final mapping would have more than 1 type 学习了:https://blog.csdn.net/qq_2 ...

  8. 在笛卡尔坐标系上描绘y=x^2-4/x^2-2x-3曲线

    <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type&quo ...

  9. PortableApps的使用方法

    1 从官方网站下载这个软件,建议只下载PortableApps Platform Only即可,因为官方提供的软件其实很少,大多数需要我们自己添加. PortableApps 致力于将一些常见的开源软 ...

  10. springMVC 头像裁剪上传并等比压

    第一次写头像裁剪上传,原本想着直接本地预览裁剪再上传,可是时间有限,jquery.jcrop貌似并没有对 假设是ie下图片预览效果是滤镜做的  做出对应处理,也没有时间去改;仅仅好将就一下先把图片上传 ...