你的位置:首页 > 数据库

[数据库]PHP基础示例:用PHP+Mysql编写简易新闻管理系统


实现目标:使用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 null9 );//创建表语句

数据库创建语句

***********************************************************************

以下为dbconfig.php文件代码

1 <?php2 //公共信息配置3 //数据库配置信息4 define("HOST","localhost"); //主机名5 define("USER","root");   //账号6 define("PASS","root");   //密码7 define("DBNAME","newsdb"); //数据库名8 ?>

以下为menu.php文件代码(一开始浏览的页面,添加新闻后以index页面为主)

1 <h2>新闻管理系统</h2>2 <a href="index.php">浏览新闻</a>3 <a href="add.php">发布新闻</a>4 <hr width="90%"/>

以下为add.php文件代码(增加具体代码)

 1 <html> 2   <head> 3     <title>新闻管理系统</title> 4   </head> 5   <body> 6     <center> 7       <?php include("menu.php");//导入导航栏 ?> 8        9       <h3>发布新闻</h3>10       <form action = "action.php?action=add" method="post">11         <table width="320" border="1">12           <tr>13             <td align="right">标题:</td>14             <td><input type="text" name="title"/></td>15           </tr>16           <tr>17             <td align="right">关键字:</td>18             <td><input type="text" name="keywords"/></td>19           </tr>20           <tr>21             <td align="right">作者:</td>22             <td><input type="text" name="author"/></td>23           </tr>24           <tr>25             <td align="right" valign="top">内容:</td>26             <td><textarea cols="25" rows="5" name="content"></textarea></td>27           </tr>28           <tr>29             <td colspan="2" align="center">30               <input type="submit" value="添加"/>&nbsp;&nbsp;31               <input type="reset" value="重置"/>32               33               </td>34           </tr>35         </table>36       </form>37     </center>38   </body>39 </html>

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 "<h3>新闻信息添加成功!</h3>";29         }else30         {31           echo "<h3>新闻信息添加失败!</h3>";32         }33         echo "<a href='javascript:window.history.back();'>返回</a>&nbsp;&nbsp;";34         echo "<a href='index.php'>浏览新闻</a>";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 <html> 2   <head> 3     <title>新闻管理系统</title> 4     <script type="text/javascript"> 5       function dodel(id) 6       { 7         if(confirm("确定要删除吗")) 8         { 9           window.location="action.php?action=del&id="+id;    10         }11       }12     </script>13   </head>14   <body>15     <center>16       <?php include("menu.php");//导入导航栏 ?>17       18       <h3>浏览新闻</h3>19       <table width="800" border="1">20         <tr>21           <th>新闻id</th>22           <th>新闻标题</th>23           <th>关键字</th>24           <th>作者</th>25           <th>发布时间</th>26           <th>新闻内容</th>27           <th>操作</th>28         </tr>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 "<tr>";43               echo "<td>{$row['id']}</td>";44               echo "<td>{$row['title']}</td>";45               echo "<td>{$row['keywords']}</td>";46               echo "<td>{$row['author']}</td>";47               echo "<td>".date("Y-m-d",$row['addtime'])."</td>";48               echo "<td>{$row['content']}</td>";49               echo "<td>50               <a href='javascript:dodel({$row['id']})'>删除</a>51               <a href='edit.php?id={$row['id']}'>修改</a></td>";52               echo "</tr>";53             }54           55           //5.释放结果集56             mysql_free_result($result);57             mysql_close($link);58         ?>59       </table>60     </center>61   </body>62 </html>

index.php文件代码

以下为edit.php文件代码(编辑具体代码)

 1 <html> 2   <head> 3     <title>新闻管理系统</title> 4   </head> 5   <body> 6     <center> 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           }else24           {25             die("没有找到要修改的信息!");26           }27       28       ?>29       30       <h3>编辑新闻</h3>31       <form action = "action.php?action=update" method="post">32       <input type="hidden" name="id" value="<?php echo $news['id']; ?>" />33         <table width="320" border="1">34           <tr>35             <td align="right">标题:</td>36             <td><input type="text" name="title" value="<?php echo $news['title']; ?>" /></td>37           </tr>38           <tr>39             <td align="right">关键字:</td>40             <td><input type="text" name="keywords" value="<?php echo $news['keywords']; ?>" /></td>41           </tr>42           <tr>43             <td align="right">作者:</td>44             <td><input type="text" name="author" value="<?php echo $news['author']; ?>" /></td>45           </tr>46           <tr>47             <td align="right" valign="top">内容:</td>48             <td><textarea cols="25" rows="5" name="content"><?php echo $news['content']; ?></textarea></td>49           </tr>50           <tr>51             <td colspan="2" align="center">52               <input type="submit" value="编辑"/>&nbsp;&nbsp;53               <input type="reset" value="重置"/>54               55               </td>56           </tr>57         </table>58       </form>59     </center>60   </body>61 </html>

edit.php文件代码