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

项目地址

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

Mysql数据库创建

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

1. 查询数据库

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

  1. <?php
  2. define("HOST","localhost");
  3. define("USER","root");
  4. define("PASS","********");
  5. define("DBNAME","news");

1.2. 创建入口文件index.html(连接数据库、查询数据)

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>新闻后台管理系统</title>
  6. </head>
  7. <style type="text/css">
  8. .wrapper {width: 1000px;margin: 20px auto;}
  9. h2 {text-align: center;}
  10. .add {margin-bottom: 20px;}
  11. .add a {text-decoration: none;color: #fff;background-color: green;padding: 6px;border-radius: 5px;}
  12. td {text-align: center;}
  13. </style>
  14. <body>
  15. <div class="wrapper">
  16. <h2>新闻后台管理系统</h2>
  17. <div class="add">
  18. <a href="addnews.html">增加新闻</a>
  19. </div>
  20. <table width="960" border="1">
  21. <tr>
  22. <th>ID</th>
  23. <th>标题</th>
  24. <th>关键字</th>
  25. <th>作者</th>
  26. <th>发布时间</th>
  27. <th>内容</th>
  28. <th>操作</th>
  29. </tr>
  30. <?php
  31. // 1.导入配置文件
  32. require "dbconfig.php";
  33. // 2. 连接mysql
  34. $link = @mysql_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
  35. // 选择数据库
  36. mysql_select_db(DBNAME,$link);
  37. // 编码设置
  38. mysql_set_charset('utf8',$link);
  39. // 3. 从DBNAME中查询到news数据库,返回数据库结果集,并按照addtime降序排列
  40. $sql = 'select * from news order by id asc';
  41. // 结果集
  42. $result = mysql_query($sql,$link);
  43. // var_dump($result);die;
  44. // 解析结果集,$row为新闻所有数据,$newsNum为新闻数目
  45. $newsNum=mysql_num_rows($result);
  46. for($i=0; $i<$newsNum; $i++){
  47. $row = mysql_fetch_assoc($result);
  48. echo "<tr>";
  49. echo "<td>{$row['id']}</td>";
  50. echo "<td>{$row['title']}</td>";
  51. echo "<td>{$row['keywords']}</td>";
  52. echo "<td>{$row['autor']}</td>";
  53. echo "<td>{$row['addtime']}</td>";
  54. echo "<td>{$row['content']}</td>";
  55. echo "<td>
  56. <a href='javascript:del({$row['id']})'>删除</a>
  57. <a href='editnews.php?id={$row['id']}'>修改</a>
  58. </td>";
  59. echo "</tr>";
  60. }
  61. // 5. 释放结果集
  62. mysql_free_result($result);
  63. mysql_close($link);
  64. ?>
  65. </table>
  66. </div>
  67. <script type="text/javascript">
  68. function del (id) {
  69. if (confirm("确定删除这条新闻吗?")){
  70. window.location = "action-del.php?id="+id;
  71. }
  72. }
  73. </script>
  74. </body>
  75. </html>

页面如图:

2. 增加新闻

2.1 点击增加按钮,通过页面addnews.html添加数据

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title>添加新闻</title>
  6. </head>
  7. <style type="text/css">
  8. form{
  9. margin: 20px;
  10. }
  11. </style>
  12. <body>
  13. <form action="action-addnews.php" method="post">
  14. <label>标题:</label><input type="text" name="title">
  15. <label>关键字:</label><input type="text" name="keywords">
  16. <label>作者:</label><input type="text" name="autor">
  17. <label>发布时间:</label><input type="date" name="addtime">
  18. <label>内容:</label><input type="text" name="content">
  19. <input type="submit" value="提交">
  20. </form>
  21. </body>
  22. </html>

2.2 创建处理增加新闻的服务端文件action-addnews.php

  1. <?php
  2. // 处理增加操作的页面
  3. require "dbconfig.php";
  4. // 连接mysql
  5. $link = @mysql_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
  6. // 选择数据库
  7. mysql_select_db(DBNAME,$link);
  8. // 编码设置
  9. mysql_set_charset('utf8',$link);
  10. // 获取增加的新闻
  11. $title = $_POST['title'];
  12. $keywords = $_POST['keywords'];
  13. $autor = $_POST['autor'];
  14. $addtime = $_POST['addtime'];
  15. $content = $_POST['content'];
  16. // 插入数据
  17. mysql_query("INSERT INTO news(title,keywords,autor,addtime,content) VALUES ('$title','$keywords','$autor','$addtime','$content')",$link) or die('添加数据出错:'.mysql_error());
  18. header("Location:demo.php");

3. 删除新闻

点击删除按钮,通过服务端文件action-del.php进行删除处理

  1. <?php
  2. // 处理删除操作的页面
  3. require "dbconfig.php";
  4. // 连接mysql
  5. $link = @mysql_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
  6. // 选择数据库
  7. mysql_select_db(DBNAME,$link);
  8. // 编码设置
  9. mysql_set_charset('utf8',$link);
  10. $id = $_GET['id'];
  11. //删除指定数据
  12. mysql_query("DELETE FROM news WHERE id={$id}",$link) or die('删除数据出错:'.mysql_error());
  13. // 删除完跳转到新闻页
  14. header("Location:demo.php");

4. 修改新闻

4.1 点击修改按钮,跳转到文件editnews.php进行修改处理

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>修改新闻</title>
  6. </head>
  7. <body>
  8. <?php
  9. require "dbconfig.php";
  10. $link = @mysql_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
  11. mysql_select_db(DBNAME,$link);
  12. mysql_set_charset('utf8',$link);
  13. $id = $_GET['id'];
  14. $sql = mysql_query("SELECT * FROM news WHERE id=$id",$link);
  15. $sql_arr = mysql_fetch_assoc($sql);
  16. ?>
  17. <form action="action-editnews.php" method="post">
  18. <label>新闻ID: </label><input type="text" name="id" value="<?php echo $sql_arr['id']?>">
  19. <label>标题:</label><input type="text" name="title" value="<?php echo $sql_arr['title']?>">
  20. <label>关键字:</label><input type="text" name="keywords" value="<?php echo $sql_arr['keywords']?>">
  21. <label>作者:</label><input type="text" name="autor" value="<?php echo $sql_arr['autor']?>">
  22. <label>发布时间:</label><input type="date" name="addtime" value="<?php echo $sql_arr['addtime']?>">
  23. <label>内容:</label><input type="text" name="content" value="<?php echo $sql_arr['content']?>">
  24. <input type="submit" value="提交">
  25. </form>
  26. </body>
  27. </html>

4.2 通过服务端文件action-editnews.php进行修改处理

通过服务端文件action-editnews.php进行修改处理

  1. <?php
  2. // 处理编辑操作的页面
  3. require "dbconfig.php";
  4. // 连接mysql
  5. $link = @mysql_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
  6. // 选择数据库
  7. mysql_select_db(DBNAME,$link);
  8. // 编码设置
  9. mysql_set_charset('utf8',$link);
  10. // 获取修改的新闻
  11. $id = $_POST['id'];
  12. $title = $_POST['title'];
  13. $keywords = $_POST['keywords'];
  14. $autor = $_POST['autor'];
  15. $addtime = $_POST['addtime'];
  16. $content = $_POST['content'];
  17. // 更新数据
  18. mysql_query("UPDATE news SET title='$title',keywords='$keywords',autor='$autor',addtime='$addtime',content='$content' WHERE id=$id",$link) or die('修改数据出错:'.mysql_error());
  19. header("Location:demo.php");

PHP+Mysql 实现数据库增删改查的更多相关文章

  1. PHP+Mysql 实现数据库增删改查(原生)

    Mysql数据库创建 创建一个新闻列表的数据库: 1. 查询数据库 1.1. 创建文件dbconfig.php,保存常量 <?php define("HOST"," ...

  2. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  3. MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句)一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)二.SQL语句:    数据定义语言DDL  用来定义数据库.表.列,关 ...

  4. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  5. 数据库学习之数据库增删改查(另外解决Mysql在linux下不能插入中文的问题)(二)

    数据库增删改查 增加 首先我们创建一个数据库user,然后创建一张表employee create table employee( id int primary key auto_increment, ...

  6. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  7. Python实现mysql数据库增删改查

    利用python操作mysql数据库用法简单,环境配置容易,本文将实现对库增.删.改.查的简易封装!   1. 环境配置 安装第三方包  ,导入模块 mysql.connector  pip inst ...

  8. go——beego的数据库增删改查

    一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...

  9. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

随机推荐

  1. SpringBoot/SpringMVC文件下载方式

    本篇文章引用外网博客代码,共描述SpringMVC下三种文件下载方式,本人测试在SpringBoot(2.0以上版本)正常使用. 引用博客,强烈推荐https://www.boraji.com. pa ...

  2. 【深度学习】--DCGAN从入门到实例应用

    一.前述 DCGAN就是Deep Concolutions应用到GAN上,但是和传统的卷积应用还有一些区别,最大的区别就是没有池化层.本文将详细分析卷积在GAN上的应用. 二.具体 1.DCGAN和传 ...

  3. 《IDEO,设计改变一切》(Change By Design)- 读书笔记

    一.关于IDEO与设计思维 IDEO是一家世界顶级创意公司,而作者蒂姆布朗是IDEO的CEO.当然,在未阅读本书之前,我都是不知道的,也不会主动去了解IDEO和蒂姆布朗的.那么,我为什么要去读这样一本 ...

  4. Asp.Net Core 轻松学-实现跨平台的自定义Json数据包

    前言     在前后端分离的业务开发中,我们总是需要返回各种各样的数据包格式,一个良好的 json 格式数据包是我们一贯奉行的原则,下面就利用 Json.Net 来做一个简单具有跨平台的序列化数据包实 ...

  5. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生. 智能语音交互市场近年来发展迅速,其典型的应用之一智能音箱产品如今已走入千家万户,深受大家 ...

  6. c#下载文件选择路径控件

    <input id="file1" style="width: 240px; height: 20px; display:none;" type=&quo ...

  7. 配置多版本jdk

    配置办法https://blog.csdn.net/qq342643414/article/details/78364601 可能会遇到的问题https://www.cnblogs.com/chuij ...

  8. react+redux+Instagram

    项目地址:https://github.com/xiaoyuqing/react-redux-instagram,喜欢的话动动手指点点赞^-^ 1.初始化项目 IndexRoute是默认路由 2.增加 ...

  9. Linux常用命令--文件操作

    常用Linux命令笔记(1) 1. 创建文件/文件夹 参考博客:https://www.cnblogs.com/lclq/p/5741852.html. 使用cat命令创建新文件: 输入命令 # ca ...

  10. java笔记----获取项目resource中class下的路径

    String path =类名.class.getClassLoader().getResource("./包/文件名").getPath(); 相对路径推荐使用这个 类名.cla ...