PHP和Mysql可以对数据库进行简单的增删改查,本文介绍了新闻列表的后台管理。

项目地址

https://github.com/caochangkui/php-mysql-test

Mysql数据库创建

创建一个新闻列表的数据库:

1. 查询数据库

1.1. 创建文件dbconfig.php,保存常量

<?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 class="wrapper">
<h2>新闻后台管理系统</h2>
<div class="add">
<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 lang="en">
<meta 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="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进行修改处理

<?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");

最新文章

  1. 前端js 判断输入的必须是数字,判断金钱
  2. NYOJ题目611练练
  3. javascript的基本语法、数据结构
  4. Vigen&#232;re 密码NOIP 2012 提高组 第一天 第一题
  5. 类库从自带的配置文件中获取信息(DLL文件 获取 DLL文件自带的配置信息) z
  6. div图片垂直居中 如何使div中图片垂直居中
  7. [DP] 堆盒子问题
  8. -_-#【减少 DOM 访问】缓存已经访问过的元素
  9. idea安装Scala插件
  10. php模拟HTTP协议发送post请求方法
  11. 学习ExtjsFor.NET(第二个案例-Array的Every方法)
  12. 【转】母函数(Generating function)详解 &mdash; TankyWoo(红色字体为批注)
  13. Apollo学习
  14. [LeetCode] Reshape the Matrix 重塑矩阵
  15. python str find &amp; index 联系
  16. WCF利用Stream上传大文件
  17. Linux shell脚本读取用户输入的参数
  18. 十七、S3C2440 音频解码芯片WM8976声卡驱动移植、madplay测试
  19. 终于知道为什么我的mysql总是卸载的不干净以及老是找不到my.ini文件
  20. nginx.conf_2017-11-24

热门文章

  1. php自动加载规范 PSR4 (Thinkphp)
  2. composer PHP Fatal error致命错误
  3. 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下)
  4. WelcomeActivity【欢迎界面】
  5. 知识小罐头06(tomcat8请求源码分析 中)
  6. Jenkins~配合Docker及dotnetCore进行生产和测试环境的灵活部署
  7. Java集合与泛型中的几个陷阱,你掉进了几个?
  8. 微信公众号开发C#系列-5、用户和用户组管理-支持同步
  9. 并发系列(2)之 ThreadLocal 详解
  10. PostgreSQL相关整理