PHP+Mysql实现数据库增删改查的方法:1、创建入口文件【index.html】连接数据库、查询数据;2、点击增加按钮,通过【addnews.html】添加数据;3、点击删除按钮,通过服务端文件【action-del.php】进行删除。
1. 查询数据库
1.1. 创建文件dbconfig.php,保存常量
define("HOST","localhost");?
define("USER","root");?
define("PASS","\*\*\*\*\*\*\*\*");
define("DBNAME","news");
1.2. 创建入口文件index.html(连接数据库、查询数据)
< !DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>新闻后台管理系统</title>
</head>
<style type="text/css">
.wrapper {width: 1000px;margin: 20px auto;}
h2 {text-align: center;}
.add {margin-bottom: 20px;}
.add a {text-decoration: none;color: #fff;background-color: green;padding: 6px;border-radius: 5px;}
td {text-align: center;}
</style>
<body>
<div>
<h2>新闻后台管理系统</h2>
<div>
<a href="addnews.html">增加新闻</a>
</div>
<table width="960" border="1">
<tr>
<th>ID</th>
<th>标题</th>
<th>关键字</th>
<th>作者</th>
<th>发布时间</th>
<th>内容</th>
<th>操作</th>
</tr>
<?php
????????????????// 1.导入配置文件
????????????????require "dbconfig.php";
????????????????// 2. 连接mysql
????????????????$link = @mysql\_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
????????????????// 选择数据库
????????????????mysql\_select\_db(DBNAME,$link);
????????????????// 编码设置
????????????????mysql\_set\_charset(‘utf8‘,$link);
// 3. 从DBNAME中查询到news数据库,返回数据库结果集,并按照addtime降序排列?
$sql = ‘select \* from news order by id asc‘;
????????????????// 结果集
????????????????$result = mysql\_query($sql,$link);
????????????????// var\_dump($result);die;
// 解析结果集,$row为新闻所有数据,$newsNum为新闻数目
$newsNum=mysql\_num\_rows($result);?
for($i=0; $i<$newsNum; $i++){
$row = mysql\_fetch\_assoc($result);
echo "<tr>";
echo "<td>{$row[‘id‘]}</td>";
echo "<td>{$row[‘title‘]}</td>";
echo "<td>{$row[‘keywords‘]}</td>";
echo "<td>{$row[‘autor‘]}</td>";
echo "<td>{$row[‘addtime‘]}</td>";
echo "<td>{$row[‘content‘]}</td>";
echo "<td>
<a href=‘javascript:del({$row\[‘id‘\]})‘>删除</a>
<a href=‘editnews.php?id={$row\[‘id‘\]}‘>修改</a>
</td>";
echo "</tr>";
}
// 5. 释放结果集
mysql\_free\_result($result);
mysql\_close($link);
?>
</table>
</div>
<script type="text/javascript">
function del (id) {
if (confirm("确定删除这条新闻吗?")){
window.location = "action-del.php?id="+id;
}
}
</script>
</body>
</html>
页面如图:
2. 增加新闻
2.1 点击增加按钮,通过页面addnews.html添加数据
< !DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加新闻</title>
</head>
<style type="text/css">
form{
margin: 20px;
}
</style>?
<body>
<form action="action-addnews.php" method="post">
<label>新闻ID: </label><input type="text" name="id">
<label>标题: </label><input type="text" name="title">
<label>关键字: </label><input type="text" name="keywords">
<label>作者: </label><input type="text" name="autor">
<label>发布时间: </label><input type="date" name="addtime">
<label>内容: </label><input type="text" name="content">
<input type="submit" value="提交">
</form>
</body>
</html>
2.2 创建处理增加新闻的服务端文件action-addnews.php
<?php
// 处理增加操作的页面
require "dbconfig.php";
// 连接mysql
$link = @mysql_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
// 选择数据库
mysql_select_db(DBNAME,$link);
// 编码设置
mysql_set_charset(‘utf8‘,$link);
// 获取增加的新闻
$title = $_POST[‘title‘];
$keywords = $_POST[‘keywords‘];
$autor = $_POST[‘autor‘];
$addtime = $_POST[‘addtime‘];
$content = $_POST[‘content‘];
// 插入数据
mysql_query("INSERT INTO news(title,keywords,autor,addtime,content) VALUES (‘$title‘,‘$keywords‘,‘$autor‘,‘$addtime‘,‘$content‘)",$link) or die(‘添加数据出错:‘.mysql_error());
header("Location:demo.php");
3. 删除新闻
点击删除按钮,通过服务端文件action-del.php
进行删除处理
<?php
// 处理删除操作的页面
require "dbconfig.php";
// 连接mysql
$link = @mysql\_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
// 选择数据库
mysql_select_db(DBNAME,$link);
// 编码设置
mysql_set_charset(‘utf8‘,$link);
$id = $_GET[‘id‘];
//删除指定数据?
mysql_query("DELETE FROM news WHERE id={$id}",$link) or die(‘删除数据出错:‘.mysql_error());
// 删除完跳转到新闻页
header("Location:demo.php");
4. 修改新闻
4.1 点击修改按钮,跳转到文件editnews.php进行修改处理
< !DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改新闻</title>
</head>
<body>
<?php
????require "dbconfig.php";
????$link = @mysql_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
????mysql_select_db(DBNAME,$link);
????mysql_set_charset(‘utf8‘,$link);
????$id = $_GET[‘id‘];
????$sql = mysql_query("SELECT * FROM news WHERE id=$id",$link);
????$sql_arr = mysql_fetch_assoc($sql);
?>
<form action="action-editnews.php" method="post">
<label>新闻ID: </label><input type="text" name="id" value="<?php echo $sql_arr[‘id‘]?>">
<label>标题: </label><input type="text" name="title" value="<?php echo $sql_arr[‘title‘]?>">
<label>关键字: </label><input type="text" name="keywords" value="<?php echo $sql_arr[‘keywords‘]?>">
<label>作者: </label><input type="text" name="autor" value="<?php echo $sql_arr[‘autor‘]?>">
<label>发布时间: </label><input type="date" name="addtime" value="<?php echo $sql_arr[‘addtime‘]?>">
<label>内容: </label><input type="text" name="content" value="<?php echo $sql_arr[‘content‘]?>">
<input type="submit" value="提交">
</form>
</body>
</html>
4.2 通过服务端文件action-editnews.php进行修改处理
通过服务端文件action-editnews.php进行修改处理
// 处理编辑操作的页面
require "dbconfig.php";
// 连接mysql
$link = @mysql\_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
// 选择数据库
mysql\_select\_db(DBNAME,$link);
// 编码设置
mysql\_set\_charset(‘utf8‘,$link);
// 获取修改的新闻
$id = $\_POST\[‘id‘\];
$title = $\_POST\[‘title‘\];
$keywords = $\_POST\[‘keywords‘\];
$autor = $\_POST\[‘autor‘\];
$addtime = $\_POST\[‘addtime‘\];
$content = $\_POST\[‘content‘\];
// 更新数据
mysql\_query("UPDATE news SET title=‘$title‘,keywords=‘$keywords‘,autor=‘$autor‘,addtime=‘$addtime‘,content=‘$content‘ WHERE id=$id",$link) or die(‘修改数据出错:‘.mysql\_error());
header("Location:demo.php");
更多学习内容可以访问【对标大厂】精品PHP架构师教程目录大全,只要你能看完保证薪资上升一个台阶(持续更新)
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的PHP技术交流群953224940