在使用PHP语言做系统时,对数据的增删改是必不可少的,开始时我也只是单纯的使用php对数据库进行操作,来实现数据的增删改,但是在一个系统中需要对数据库数据进行增删改的很多,只是单纯的使用php来实现的话所需要的代码页面非常的多,所以我结合php与JQuery(JQuery使用的是jquery-3.2.1.min.js)的$.ajax只需要两个页面就可以对数据进行增删改,特别的方便,下面就是实现代码:
执行增删改页面(index.php)的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//点击添加按钮时执行的JQuery语句
$("#but").click(function(){
var name=$("#name").val();//获得添加的姓名输入框中输入的值
var post=$("#post").val();//获得添加的职位输入框中输入的值
$.ajax({
url:"ajax.php?type=add", //跳转到哪个页面
type:"POST", //传值方式
data:{name:name,post:post}, //传值
dataType:"json",
error: function(){ //传值失败时执行的程序
alert('错误');
},
success: function(data,status){ //传值成功时
if(data==false){
$("#result").html("该用户名已经存在");
}else{
if(data==true){
alert('添加成功!');
document.location.reload();
}else{
alert('添加失败!');
}
}
}
});
})
//点击删除文本是执行的代码
$("table").on("click","tr td",function(){
if($(this).text()=='删除'){
var id=$(this).parent().children()[0].innerText;
if(confirm("您确定要删除ID号为"+id+"的这位用户吗?")){
$.ajax({
url:"ajax.php?type=delete",
type:"POST",
data:{id:id},
dataType:"json",
error: function(){
alert('错误');
},
success: function(data,status){
if(data==true){
alert('删除成功!');
document.location.reload();
}else{
alert('删除失败!');
}
}
});
}
}
//修改
if($(this).text()=='修改'){
var name=$(this).parent().children()[1].innerText;
var post=$(this).parent().children()[2].innerText;
//点击修改是,将用户名和职位转化为输入框
$(this).parent().children()[1].innerHTML="<input type=text id='up_name' value="+name+" />";
$(this).parent().children()[2].innerHTML="<input type='text' id='up_post' value="+post+" />";
$(this).text('确认修改');
return;
}
if($(this).text()=='确认修改'){
var id=$(this).parent().children()[0].innerText;
var up_name=$("#up_name").val();
var up_post=$("#up_post").val();
if(confirm("您确定要修改ID号为"+id+"的这位用户吗?")){
$.ajax({
url:"ajax.php?type=update",
type:"POST",
data:{id:id,up_name:up_name,up_post:up_post},
dataType:"json",
error: function(){
alert('错误');
},
success: function(data,status){
if(data==true){
alert('修改成功!');
document.location.reload();
}else{
alert('修改失败!');
}
}
});
}
}
})
})
</script>
</head>
<body>
姓名:<input type="text" name="name" id="name">
职位:<input type="text" name="post" id="post">
<input type="button" value="添加" id="but">
<span id="result"></span>
<table border="1">
<tr align="center">
<td width="50">编号</td>
<td width="150">用户名</td>
<td width="150">职务</td>
<td width="140" colspan="2">操作</td>
</tr>
<?php
require 'PDO.php';
$sql=mysql_query("SELECT * FROM info") or die("执行查询语句失败!".mysql_error());
while($row=mysql_fetch_array($sql,MYSQL_BOTH)){
echo '<tr align="center">
<td width="50">'.$row[0].'</td>
<td width="150">'.$row[1].'</td>
<td width="150">'.$row[2].'</td>
<td width="70">修改</td><td>删除</td>
</tr>';
}
?>
</table>
</body>
</html>
实现增删改操作页面(ajax.php)代码:
<?php
class DbUtil{
//链接数据库
function __construct(){
//设置连接地址 账号 密码,开始建立连接
@mysql_connect("localhost","root","") or die("建立连接失败!");
//设置当前要操作的数据库 my
@mysql_select_db("my") or die("连接数据库失败!");
//设置数据库输出的编码格式
@mysql_query("utf8");
}
function Add($name,$post){
$select=mysql_query("SELECT * FROM info WHERE `name`='".$name."'") or die('执行查询语句失败!');
$sum=mysql_num_rows($select);
if($sum>0){
$arrar=false;
}else{
$mysql_add=mysql_query("INSERT INTO info(name,post) VALUES('".$name."','".$post."')") or die("执行添加语句失败!");
if($mysql_add){
$arrar=true;
}else{
$arrar=false;
}
}
echo json_encode($arrar);
}
//删除
function Delete($id){
$mysql_delete=mysql_query("DELETE FROM info WHERE id=".$id."") or die("执行删除语句失败!");
if($mysql_delete){
$delete=true;
}else{
$delete=false;
}
echo json_encode($delete);
}
//修改
function Update($id,$up_name,$up_post){
$mysql_update=mysql_query("UPDATE info SET `name`='".$up_name."',post='".$up_post."' WHERE id=".$id) or die("执行删除语句失败!");
if($mysql_update){
$update=true;
}else{
$update=false;
}
echo json_encode($update);
}
}
$db=new DbUtil();
$type=$_GET['type'];
switch($type){
case 'add':
echo $db->Add($_POST['name'],$_POST['post']);
break;
case 'delete':
echo $db->Delete($_POST['id']);
break;
case 'update':
echo $db->Update($_POST['id'],$_POST['up_name'],$_POST['up_post']);
break;
}
?>
如果代码有什么不足之处,望不吝赐教!