服务器:Apache
数据库:MySQL
通过php执行mysql语句进行增删改查,首先进行功能分析,需要写哪些执行文件,及其执行的功能:
1、index.php中:通过php执行sql语句获取数据库中的数据,并展示到页面中来
2、add.html中:成绩添加页面,从前端获取数据,通过form表单提交到后台
3、add.php中:通过php执行sql语句,实现数据入库功能,即将从前端发送来的数据插入数据库
4、del.php中:通过php执行sql语句,实现数据删除功能,即将指定的数据从数据库中移除
5、update.php中:通过php执行sql语句选中要修改的数据;修改页面,通过form表单将修改后的数据提交到后台
6、updateDo.php中:获取从update.php传来的修改后数据,通过php执行sql语句修改数据库中的数据
1.在index.php里展示成绩表
有 添加成绩、删除、修改 三大功能。
index.php中:
连接并选择数据库,设置字符集,用sql语句查询表内所有数据,执行sql语句,返回一个结果(资源),将资源转化为数组,用while循环遍历插入空数组中,新建form表单,返回数据结果:
<h2>学生成绩表</h2>
<a href="add.html">添加成绩</a>
<?php
header("content-type:text/html;charset=utf-8");
mysql_connect("127.0.0.1","root","root");
mysql_select_db("1127");
mysql_query("set names utf8");
$sql = "select * from score";
$res = mysql_query($sql);
while($data = mysql_fetch_assoc($res)){
$arr[] = $data;
}
?>
<table border="1" cellspacing="0" width="500">
<tr>
<td>学号</td>
<td>姓名</td>
<td>html成绩</td>
<td>js成绩</td>
<td>操作</td>
</tr>
<?php
foreach($arr as $v){ ?>
<tr>
<td><?php echo $v["id"]?></td>
<td><?php echo $v["sname"]?></td>
<td><?php echo $v["html"]?></td>
<td><?php echo $v["js"]?></td>
<td><a href="del.php?id=<?php echo $v["id"]?>">删除</a>|<a href="update.php?id=<?php echo $v["id"]?>">修改</a></td>
</tr>
<?php }
?>
</table>
<style>
td{
text-align: center;
}
</style>
注意**:
1.用foreach遍历上面储存数据的数组foreach($arr as
v
)
,
获
取
到
的
v),获取到的
v),获取到的v是每一条数据
2.遍历创建新的数据,插入表格内容<?php echo $v["id"]?>等等
3.给删除和修改的a连接添加地址分别为del.php和update.php
4.地址后面用?连接,在传入从前面获取的id,以能够删除或修改相应的数据
2.添加成绩
点击index.php里的添加成绩,跳转至add.html,add.html中的form表单提交到add.php中。
add.php中:
从前端获取数据,连接并选择数据库,设置字符集,用sql语句插入数据,执行sql语句,返回一个结果(布尔值),判断:如果添加成功,返回首页index.php;否则返回添加页面add.html
add.html代码如下:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>添加页面</title>
</head>
<body>
<form method="get" action="add.php">
<p>姓名:<input type="text" name="sname" /></p>
<p>html成绩:<input type="text" name="html" /></p>
<p>js成绩:<input type="text" name="js" /></p>
<p><input type="submit" value="添加" /></p>
</form>
</body>
</html>
add.php代码如下:
<?php //将获取的数据插入数据库
header("content-type:text/html;charset=utf-8");
$sname = $_GET["sname"];
$html = $_GET["html"];
$js = $_GET["js"];
mysql_connect("127.0.0.1","root","root");
mysql_select_db("1127");
mysql_query("set names utf8");
$sql = "insert into score (sname,html,js) values ('$sname','$html','$js')";
$res = mysql_query($sql);
if($res){ //插入成功后跳转到展示页面
echo "<script>window.location.href='index.php'</script>";
}else{
echo "<script>alert('添加失败');window.location.href='add.html'</script>";
}
?>
3.删除数据
给index.php中删除的a连接添加地址到del.php,并向其中传入相应的id(<?php echo $v["id"]?>),以明确要删除的是哪一条数据
del.php中:
获取从index.php传来的id,连接并选择数据库,设置字符集,用sql语句删除数据,条件id=$id,执行sql语句,返回一个结果(布尔值),判断:如果删除成功,则直接返回首页index.php;否则弹窗提示删除失败,并停留首页index.php
del.php代码如下:
<?php
header("content-type:text/html;charset=utf-8");
$id = $_GET["id"];
mysql_connect("127.0.0.1","root","root");
mysql_select_db("1127");
mysql_query("set names utf8");
$sql = "delete from score where id=$id";
$res = mysql_query($sql);
if($res){
echo "<script>window.location.href='index.php'</script>";
}else{
echo "<script>alert('删除失败');window.location.href='index.php'</script>";
}
?>
4.修改数据
给index.php中修改的a连接添加地址到update.php,点击index.php里的修改,跳转至update.php,并向其中传入相应的id(<?php echo $v["id"]?>),以明确要修改的是哪一条数据。
update.php中:
获取从index.php传来的id,连接并选择数据库,设置字符集,用sql语句查找你要修改的数据,条件id=$id,执行sql语句,返回一个结果(资源),将资源转化为数组,编辑修改页面,新建form表单提交到updateDo.php
<?php
header("content-type:text/html;charset=utf-8");
$id = $_GET["id"];
mysql_connect("127.0.0.1","root","root");
mysql_select_db("1127");
mysql_query("set names utf8");
$sql = "select * from score where id=$id";
$res = mysql_query($sql);
// echo $res;
$arr = mysql_fetch_assoc($res);
?>
<form method="get" action="updateDo.php">
<input type="hidden" name="id" value="<?php echo $id?>" />
<p>姓名:<input disabled type="text" name="sname" value="<?php echo $arr['sname']?>"/></p>
<p>html成绩:<input type="text" name="html" value="<?php echo $arr['html']?>"/></p>
<p>js成绩:<input type="text" name="js" value="<?php echo $arr['js']?>"/></p>
<p><input type="submit" value="修改"/></p>
</form>
注意**
1.在表单中写一个隐藏的input框存放id(后面updateDo.php中要根据id删除)
2.给每个input框添加value属性,属性值从上面php中转化的arr中获取,一一对应
3.给姓名的input框添加disabled属性,保证姓名不能被修改
updateDo.php中:
获取从update.php传来的uname,html,js值,连接并选择数据库,设置字符集,用sql语句更改数据,条件id=$id,执行sql语句,返回一个结果(布尔值),判断:如果修改成功,返回首页index.php;否则返回修改页面update.php
<?php
header("content-type:text/html;charset=utf-8");
$id = $_GET["id"];
$html = $_GET["html"];
$js = $_GET["js"];
mysql_connect("127.0.0.1","root","root");
mysql_select_db("1127");
mysql_query("set names utf8");
$sql = "update score set html=$html,js=$js where id=$id";
$res = mysql_query($sql);
if($res){
echo "<script>window.location.href='index.php'</script>";
}else{
echo "<script>alert('修改失败');window.location.href='update.php'</script>";
}
?>
注意**
别忘记php文件中设置header(“content-type:text/html;charset=utf-8”);