当前位置:文档之家› 基于PHP的新闻发布系统实验案例-lee

基于PHP的新闻发布系统实验案例-lee

新闻发布系统开发实例一、概述随着互联网的逐步普及,通过网络浏览新闻获取最新资讯已经成为人们日常生活中的一部分,这让人们足不出户就能了解天下的最新动态。

新闻发布系统就是人们实现浏览新闻的一个平台。

通过这个系统普通的用户可以实现新闻的阅览,同时管理员可以在后台对新闻资讯进行有效管理。

本文通过PHP与MySQL的技术实现一个简单的新闻发布系统,实现新闻的发布以及新闻的基本的管理功能。

二、系统分析与设计本系统是一个新闻的管理系统所以最基本的功能就是实现新闻的添加、修改、删除等各项基本功能;新闻动态有很多分类本系统应能实现对类似于国际新闻、体育新闻、娱乐新闻等各类新闻动态的分类;同时本系统还应有一个用户管理用于管理用户。

按照分析本本新闻发布系统应实现的功能如下:(1)新闻管理:新闻的添加、修改、查询、浏览、删除。

(2)新闻类别管理:添加、删除(3)用户管理:用户的添加;信息的查看、修改、删除。

三、数据库的设计与实现1、设计数据库按照系统的分析本系统本系统建立一个数据库,我们可以将其命名为news。

这个数据库将包含两张表,一个是用于储存新闻类别与内容的表——news;一个是用户存储用户信息的表——usr。

如下表一所示,news表中包含的属性如下:(1)id :news的编号。

(2)type:新闻的类别。

(3)title:新闻的标题。

(4)date:发布新闻的时间。

(5)author:发布新闻的作者。

(6)click:新闻的点击次数。

(7)content:新闻的内容。

表一news表(新闻)创建news表CREATE TABLE IF NOT EXISTS `news` (`id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(20) CHARACTER SET utf8 NOT NULL, `type` varchar(20) CHARACTER SET utf8 NOT NULL, `date` date NOT NULL,`content` text CHARACTER SET utf8 NOT NULL,`author` varchar(10) CHARACTER SET utf8 NOT NULL, `click` int(20) NOT NULL,PRIMARY KEY (`id`))同理对于user表如下图1.2所示:(1)id:用户编号。

(2)type:用户类别。

(3)username:用户名称。

(4)password:用户密码。

表二user表(用户表)创建user表:CREATE TABLE IF NOT EXISTS `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`type` varchar(20) CHARACTER SET utf8 NOT NULL,`username` varchar(20) CHARACTER SET utf8 NOT NULL,`password` varchar(20) CHARACTER SET utf8 NOT NULL,PRIMARY KEY (`id`))四、系统的实现1.普通用户新闻界面实现1.1、新闻发布系统首页用户输入网址之后就来到了新闻发布系统的首页,普通的用户可以在首页中浏览各类新闻,其不需要任何权限。

如下图1,我们暂把新闻的类型分为时政新闻与体育新闻两种。

图1 新闻发布系统首页该部分的代码(index.php)如下所示:<html><head>//设置页面元信息<meta http-equiv="Content-Type" content="text/html;charset=utf-8"><title>新闻发布系统</title></head>//设置标题<h1 align='center'>新闻发布系统</h1><body><table border="0" align='center' width='1600'> //设置表格信息<tr bgcolor="#cccccc"> //设置背景颜色<td width="100">时政新闻</td><td width="50"><a href=login.php target="_blank">管理员登陆</a></td> //设置标题栏及管理员登陆入口</tr></table><?phpinclude "connect.php"; //调用数据库连接文件connect.php(下文有详细叙述)$query = "SELECT * from news where type=1 limit 5 "; //在news表中查询所有type=1(即时政新闻)的信息,并最多返回5条记录$result = mysql_query($query, $conn);while ($row = mysql_fetch_array($result)) { //输出所有的查询结果echo "<p>";echo "<table border='0' width='1000'>"; //设置每条新闻在页面输出时的总宽度echo "<tr>";echo "<td width='800'>"; //设置新闻标题页面输出时的宽度echo "<a href=news_view.php?id=" . $row["id"] . " width='800'>" . $row["title"] . "</a>";echo "</td>";echo "<td width='100'>"; //设置发布作者标签在输出时页面的宽度echo "[" . $row["author"] . "]";echo "</td>";echo "<td width='100'>"; //设置发布日期标签在输出时页面的宽度echo "[" . $row["date"] . "]";echo "</td>";echo "</table>";}?><center><a href="news_list1.php">更多</a></center> //时政新闻的列表页面<table border="0" align='center' width='1600'> //设置表格信息<tr bgcolor="#cccccc"> //设置行的背景颜色<td width="150">体育新闻</td></table><?php$query = "SELECT * from news where type=2 limit 5 "; //在news表中查询所有type=2(即体育新闻)的信息,并最多返回5条记录$result = mysql_query($query, $conn);while ($row = mysql_fetch_array($result)) {echo "<p>";echo "<table border='0' width='1000'>";echo "<tr>";echo "<td width='800'>";echo "<a href=news_view.php?id=" . $row["id"] . " width='300'>" .$row["title"] . "</a>";echo "</td>";echo "<td width='100'>";echo "[" . $row["author"] . "]";echo "</td>";echo "<td width='100'>";echo "[" . $row["date"] . "]";echo "</td>";echo "</table>";}?><center><a href="news_list2.php">更多</a></center> //体育新闻的列表页面</body></html>设置数据库连接函数其中用到的connect.php是用于与mysql数据库建立连接。

其具体实现代码如下:<?php$db_host='localhost'; //设置主机名$db_user='root'; //设置用户名$db_pass=''; //设置用户密码$conn=mysql_connect($db_host,$db_user,$db_pass)or die(mysql_error()."failed to connect to database!"); //设置连接$db=mysql_select_db('new',$conn); //连接数据库;mysql_set_charset("utf8",$conn);>1.2、新闻信息详细页面点击新闻的标题可以直接进入新闻的详细页面。

相关主题