PHP+MySQL实现增删改查
这里用PHP和MySQL实现了一个新闻管理系统的增删改查的功能。
一、数据库
首先创建数据库
二、创建项目
1、我是在eclipse里面创建的PHP Project项目,项目目录如下:
这里需要在eclipse里面下载php插件才能创建PHP Project项目,下载插件就是的流程是:运行eclipse,在主界面里找到Help下的“Instal New Software”。然后在Work with中选择“All Available Sites”,到这里加载有些慢,需要耐心等待,然后选择web、xml、java EE、and OSGI…,在其中找到PHP Development Tools (PDT)软件。勾选,点击Next。重启eclipse就行了。
2、创建文件dbconfig.php,连接数据库
<?php
define("HOST", "localhost");
define("USER", "root");
define("PASS", "root");
define("DBNAME", "news");
3、创建主页显示文件index.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; 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: red;
padding: 6px;
border-radius: 5px;
}
td {
text-align: center;
}
</style>
<body>
<div class="wrapper">
<h2>新闻后台管理系统</h2>
<div class="add">
<a href="addnews.php">增加新闻</a>
</div>
<table width="980px" 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 tb_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['author']}</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>
4、增加新闻的页面addnews.php
<!DOCTYPE html>
<html>
<head lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>添加新闻</title>
</head>
<style type="text/css">
form {
margin: 20px;
}
</style>
<body>
<form action="action-addnews.php" method="post">
<label>标题:</label><input type="text" name="title"> <label>关键字:</label><input
type="text" name="keywords"> <label>作者:</label><input type="text"
name="author"> <label>发布时间:</label><input type="date" name="addtime">
<label>内容:</label><input type="text" name="content"> <input
type="submit" value="提交">
</form>
</body>
</html>
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'];
$author = $_POST['author'];
$addtime = $_POST['addtime'];
$content = $_POST['content'];
// 插入数据
mysql_query("INSERT INTO tb_news(title,keywords,author,addtime,content) VALUES ('$title','$keywords','$author','$addtime','$content')", $link) or die('添加数据出错:' . mysql_error());
header("Location:index.php");
5、删除新闻 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 tb_news WHERE id={$id}", $link) or die('删除数据出错:' . mysql_error());
// 删除完跳转到新闻页
header("Location:index.php");
6、修改新闻内容 editnews.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; 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 tb_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="author" value="<?php echo $sql_arr['author']?>">
<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>
action-editnews.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 = $_POST['id'];
$title = $_POST['title'];
$keywords = $_POST['keywords'];
$author = $_POST['author'];
$addtime = $_POST['addtime'];
$content = $_POST['content'];
// 更新数据
mysql_query("UPDATE tb_news SET title='$title',keywords='$keywords',author='$author',addtime='$addtime',content='$content' WHERE id=$id", $link) or die('修改数据出错:' . mysql_error());
header("Location:index.php");
最后运行就好了,我的地址是http://localhost/PHPProject/index.php,我的项目是放在Apache服务自动配置的运行目录下的,运行起来Apache服务之后直接访问就好。