实现目标:使用php和mysql操作函数实现一个新闻信息的发布、浏览、修改和删除操作
实现步骤:
一、创建数据库和表
1.创建数据库和表:newsdb
2.创建表格:news
字段:新闻id,标题,关键字,作者,发布时间,新闻内容
二、创建php文件编写代码(以下为要创建的php文件及其用途)
dbconfig.php 公共配置文件,数据库连接配置信息
menu.php 网站公共导航栏
index.php 浏览新闻的文件(此为首页)
add.php 发布新闻表单页
edit.php 编辑新闻的表单页
action.php 执行新闻信息添加、修改、删除等操作的动作(后台)
**********************************************************************
以下为数据库创建语句:
1 create database newsdb;//创建数据库语句
2 create table news(
3 id int unsigned not null auto_increment primary key,
4 title varchar(64) not null,
5 keywords varchar(64) not null,
6 author varchar(16) not null,
7 addtime int unsigned not null,
8 content text not null
9 );//创建表语句
数据库创建语句
***********************************************************************
以下为dbconfig.php文件代码
1 <?php
2 //公共信息配置
3 //数据库配置信息
4 define("HOST","localhost"); //主机名
5 define("USER","root"); //账号
6 define("PASS","root"); //密码
7 define("DBNAME","newsdb"); //数据库名
8 ?>
以下为menu.php文件代码(一开始浏览的页面,添加新闻后以index页面为主)
1
新闻管理系统
2 浏览新闻
3 发布新闻
4
以下为add.php文件代码(增加具体代码)
1
2
3
新闻管理系统4
5
6
7 <?php include("menu.php");//导入导航栏 ?>
8
9
发布新闻
10
11
12
13
标题:14
15
16
17
关键字:18
19
20
21
作者:22
23
24
25
内容:26
27
28
29
30
31
32
33
34
35
36
37
38
39
add.php文件代码
以下为action.php文件代码(增删改实现代码)
1 <?php
2 //这是一个信息增、删和改操作的处理页面
3
4 //1.导入配置文件
5 require("dbconfig.php");
6 //2.连接MYSQL,并选择数据库
7 $link=@mysql_connect(HOST,USER,PASS) or die("数据库连接失败!");
8 mysql_select_db(DBNAME,$link);
9
10 //3.根据需要action值,来判断所属操作,执行对应的代码
11 switch($_GET["action"])
12 {
13 case "add": //执行添加操作
14 //1.获取要添加的信息,并补充其他信息
15 $title = $_POST["title"];
16 $keywords = $_POST["keywords"];
17 $author = $_POST["author"];
18 $content = $_POST["content"];
19 $addtime = time();
20 //2.座信息过滤(省略)
21 //3.拼装添加SQL语句,并执行添加操作
22 $sql = "insert into news values(null,'{$title}','{$keywords}','{$author}','{$addtime}','{$content}')";
23 mysql_query($sql,$link);
24 //4.判断是否成功
25 $id=mysql_insert_id($link);//获取刚刚添加信息的自增id号值
26 if($id>0)
27 {
28 echo "
新闻信息添加成功!
";29 }else
30 {
31 echo "
新闻信息添加失败!
";32 }
33 echo "返回 ";
34 echo "浏览新闻";
35 break;
36 case "del": //执行删除操作
37 //1.获取要删除的id号
38 $id=$_GET['id'];
39 //2.拼装删除sql语句,并执行删除操作
40 $sql = "delete from news where id={$id}";
41 mysql_query($sql,$link);
42
43 //3.自动跳转到浏览新闻页面
44 header("Location:index.php");
45 break;
46 case "update": //执行添加操作
47 //1.获取要修改的信息
48 $title = $_POST['title'];
49 $keywords = $_POST['keywords'];
50 $author = $_POST['author'];
51 $content = $_POST['content'];
52 $id = $_POST['id'];
53 //2.过滤要修改的信息(省略)
54
55 //3.拼装修改sql语句,并执行修改操作
56 $sql = "update news set title='{$title}',keywords='{$keywords}',author='{$author}',content='{$content}' where id = {$id} ";
57
58 mysql_query($sql,$link);
59 //4.跳转回浏览界面
60 header("Location:index.php");
61 break;
62 }
63 //4.关闭数据库连接
64 mysql_close($link);
65
action.php文件代码
以下为index.php文件代码(在此页面浏览新闻,并对新闻信息进行增删改操作)
1
2
3
新闻管理系统4
5 functiondodel(id)
6 {
7 if(confirm("确定要删除吗"))
8 {
9 window.location="action.php?action=del&id="+id;
10 }
11 }
12
13
14
15
16 <?php include("menu.php");//导入导航栏 ?>
17
18
浏览新闻
19
20
21
新闻id22
新闻标题23
关键字24
作者25
发布时间26
新闻内容27
操作28
29 <?php
30 //1.导入配置文件
31 require("dbconfig.php");
32 //2.连接MYSQL,选择数据库
33 $link = @mysql_connect(HOST,USER,PASS) or die("数据库连接失败!");
34 mysql_select_db(DBNAME,$link);
35 //3.执行查询,并返回结果集
36 $sql = "select * from news order by addtime desc";
37 $result = mysql_query($sql,$link);
38
39 //4.解析结果集,并遍历
40 while($row = mysql_fetch_assoc($result))
41 {
42 echo "
";43 echo "
{$row['id']}";44 echo "
{$row['title']}";45 echo "
{$row['keywords']}";46 echo "
{$row['author']}";47 echo "
".date("Y-m-d",$row['addtime'])."";48 echo "
{$row['content']}";49 echo "
50 删除
51 修改
";52 echo "
";53 }
54
55 //5.释放结果集
56 mysql_free_result($result);
57 mysql_close($link);
58 ?>
59
60
61
62
index.php文件代码
以下为edit.php文件代码(编辑具体代码)
1
2
3
新闻管理系统4
5
6
7 <?php
8 include("menu.php");//导入导航栏
9
10 //1.导入配置文件
11 require("dbconfig.php");
12
13 //2.连接MYSQL数据库、选择数据库
14 $link = @mysql_connect(HOST,USER,PASS) or die("数据库连接失败!");
15 mysql_select_db(DBNAME,$link);
16 //3.获取要修改信息的id号,并拼装查看sql语句,执行查询,获取要修改的信息
17 $sql = "select *from news where id={$_GET['id']}";
18 $result = mysql_query($sql,$link);
19 //4.判断是否获取到了要修改的信息
20 if($result &&mysql_num_rows($result)>0)
21 {
22 $news = mysql_fetch_assoc($result);
23 }else
24 {
25 die("没有找到要修改的信息!");
26 }
27
28 ?>
29
30
编辑新闻
31
32
33
34
35
标题:36
37
38
39
关键字:40
41
42
43
作者:44
45
46
47
内容:48
<?php echo $news['content']; ?>49
50
51
52
53
54
55
56
57
58
59
60
61