PHP学习笔记(15)PDO数据库操作+AJAX无刷新技术删除用户
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无刷新技术删除用户的更多相关文章
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- Java 学习笔记(16)——Java数据库操作
数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据 ...
- Python学习笔记六:数据库操作
一:Python操作数据库的流程 二:开发环境准备 1:开发工具PyCharm 2:Python操作mysql的工具:需要安装Python-Mysql Connector,网址:https://sou ...
- 什么是Ajax无刷新技术?
浏览器实例化一个Ajax对象,这个对象发送一个HTTP请求,并且携带一定的参数,传输到后台.后台服务器接收这些参数,同时过滤一下传过来的参数,做出逻辑判断.如果需要数据库操作参与,就要取出数据,格式化 ...
- [Python] 学习笔记之MySQL数据库操作
1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择 ...
- Python学习笔记15—mysql的操作
安装 Python-MySQLdb pip install mysql-Python Python对mysql的操作 建立一个实验数据库demo mysql> create database d ...
- Python学习笔记21:数据库操作(sqlite3)
Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言. SQLite作为后端数据库,能够搭配Python建站点,或者制作有数据存储需求的工具. SQLite还在其他领域有广泛 ...
- python学习笔记(十)完善数据库操作
1.cur = coon.cursor(cursor=pymysql.cursors.DictCursor)的用法 建立游标,指定cursor类型返回的是字典,如果不指定类型,返回的是元组类型数据 i ...
- PHP学习笔记(16)AJAX无刷新技术--深入理解
Ajax里的onreadystatechange的作用是什么 发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态,XMLHttpRequest对象提供了onrea ...
随机推荐
- vue-cli 配置路由之间跳转传递参数
1.有2种方式去传参,如下代码: <template> <div> <div>这里是首页</div> <router-link :to=" ...
- 【云计算】OpenStack Horizon DashBoard定制化,完整实现前后台交互
项目代码见GitHub:https://github.com/junneyang/openstack-customization-example 参考资料: Install and configure ...
- 对PHP中类、继承、抽象的理解(个人总结)
1,PHP中的类可以被继承:A extends B. 2,类被声明为abstract时:a.该类就仅仅包含模版,我们就不能创建该类的实例对象,必须通过继承来使用new创建对象. b.继承一个抽象类的时 ...
- java集合Collection接口
collection集合 Map集合 Hashtable和HashMap的区别: Hashtable的方法是同步的,而HashMap的方法不是.HashMap可以将空值作为一个表的条目的key或val ...
- PagerAdapter刷新问题
一.PagerAdapter介绍 PagerAdapter简介 ListView 大家应该都很熟悉吧!ListView 一般都需要一个 Adapter 来填充数据,如 ArrayAdapter.Sim ...
- 如何为iTunes Connect准备应用
原地址:http://blog.sina.com.cn/s/blog_947c4a9f0101dded.html 如果你已经成功注册了iOS开发者,那么现在就可以登陆iTunes Connect来管理 ...
- python小写转大写金额
python小写转大写金额 摘自:http://shine-it.net/index.php?topic=14575.0 def _rmb_upper(self, value): "&quo ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 总结
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 总结 SharePoint Apps这三个新 ...
- Spring入门示例
开发环境 Spring 4.3.0+Myeclipse2015+JDK1.8 准备阶段: 1.新建一Spring01项目,然后新建一个lib文件.将下面的添加到lib文件中 2.将lib文件所有的包导 ...
- Codeigniter 使用 Mysql 存储过程
本篇文章由:http://xinpure.com/codeigniter-using-mysql-stored-procedures/ 执行存储过程 $query = $this -> db - ...