《基于PHP的新闻发布系统实验案例》由会员分享,可在线阅读,更多相关《基于PHP的新闻发布系统实验案例(40页珍藏版)》请在金锄头文库上搜索。
1、新闻发布系统开发实例、概述随着互联网的逐步普及,通过网络浏览新闻获取最新资讯己经成为人们闩常 生活中的一部分,这让人们足不出户就能了解天下的最新动态。新闻发布系统就 是人们实现浏览新闻的一个平台。通过这个系统普通的用户可以实现新闻的阅览, 同时管理员可以在后台对新闻资讯进行有效管理。木文通过PHP与MySQL的技术实现一个简单的新闻发布系统,实现新闻 的发布以及新闻的基本的管理功能。二、系统分析与设计木系统是一个新闻的管理系统所以最基木的功能就是实现新闻的添加、修改、 删除等各项基本功能;新闻动态冇很多分类本系统应能实现对类似于国际新闻、 体育新闻、娱乐新闻等各类新闻动态的分类;同时本系统还应
2、有一个用户管理用 于管理用户。按照分析本本新闻发布系统应实现的功能如下:(1) 新闻管理:新闻的添加、修改、査询、浏览、删除。(2) 新闻类别管理:添加、删除(3) 用户管理:用户的添加;信息的查看、修改、删除。三、据库的设计与实现1、设计数据库按照系统的分析本系统本系统建立一个数据库,我们可以将其命名为news。 这个数据库将包含两张表,一个是用于储存新闻类别与内容的表news; 一个 是用户存储用户信息的表usr。如下表一所示,news表中包含的属性如下:(1)id :news的编号。(2)type:新闻的类别。(3)title:新闻的标题。(4)date:发布新闻的时间。(5)autho
3、r:发布新闻的作者(6)click:新闻的点击次数。(7)content:新闻的内容。表一 news表(新闻)字段名数据类型备注idintprimary _keynot_null auto_increment编号typevarchar(20) not null新闻类别titlevarchar (50) not null新闻标题datedate notnull新闻发布时间authorvarchar (20) not null新闻作者clickint (20) not null新闻点击次数contenttext not null新闻内容仓键news表CREATE TABLE IF NOT EXIS
4、TS Knews (id int(ll) NOT NULL AUTOJNCREMENT,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(lO) CHARACTER SET utf8 NOT NULL, click int(20) NOT NULL,PRIMARY KEY fidK)同理对于user表如K图1.
5、2所示:(1) id:用户编号。(2) type:用户类别。(3) username:用户名称。(4) password:用户密码。表二user表(用户表)字段名数据类型备注idintprimarykeynot_null auto_increment编号typevarchar(20) not null用户类别usernamevarchar(20) not null用户名passwordvarchar(20) not null密码创逮user表:CREATE TABLE IF NOT EXISTS user (idv int(ll) NOT NULL AUTO JNCREMENT,type va
6、rchar(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,我们暂把新闻的类型分为时政新 闻与体育新闻两种。新闻发布系统助w广舨蠱甬瘼人璺灾【中鱭网:(2013-0t-lt)墨蠤
7、醴令 IUA蠡【鱭筚网:SdUs己郎 鱟亡【輯华社:2013-20j浔竊林州公雯爸署4人井驻体P【中鳜网:15-20l掣藿S对*01中DD人工作不鬃6人R网:JLi【2013分】体育醑闻力中109奂讲饔女+4X400米 力uw 体 m懂女邏濞躉极4*尊金*亿中M历中从衆有(半厲観砝燋顏,世格專果:1霣霓赛澶自獒r体菁J(2013-08-20J讯体霣】2013-20JU图1新闻发布系统首页该部分的代码(index.php)如下所示:/设置页面元信息 title新闻发布系统/title/head设置标题hl align=center新闻发布系统 bodytable border=On align=
8、center, width:11600/设置表格信息 tr bgcolor=#cccccc/设置背景颜色td width=100时政新闻 /tdtd width=50a href=login.php target=n_blankn管理员登陆 /设置标题栏及管理员登陆入口 ?phpinclude connect.php1;/调用数据库连接文件connect.php (下文冇详细叙述)$query = ”SELECT * from news where type= 1 limit 5/在 news 表中查询所有type=l (即时政新闻)的信息,并最多返回5条记录$result = mysql_q
9、uery($query, $conn);while ($row = mysql_fetch_array($result) /输出所有的查询结果echo ;echo table border=(T width=1000,n;/设置每条新闻在页面输出时的总宽度echoecho ”n;/设置新闻标题页面输出时的宽度echo a href=news_view.php?id=” . $rowid . width=800 $rowHtitleu . ”/an;echo Hn;echo ”;/设置发布作者标签在输出时页面的宽度echo $rowauthor. echo Hn;echo ”td width=1
10、00”;/设罝发布日期标签在输出时页面的宽度echo $rowdaten T;echo ncentera href=nnews_listl .php更多/a/设置表格信息/设置行的背景颜色td width=n150n体育新闻/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
11、H;echo table border=0 width-1000; echo HH;echo td width=800;echo Ha href=news_view.php?id=H . $rowHidH . widthOO. $rowHtitlen . n;echo /td”; echo Hn; echo . $rowauthorn. echo /tdu; echo ; echo . $rowndaten. echo n; echo ;?centera href=nnews_list2.php”更多/a/center/体育新闻的列表页面 /body设置数据库连接函数其中用到的connect.
12、php是用于与mysql数据库建立连接。其具体实现代码如下: ?php$db_host=localhosf;$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、新闻信息详细页面点击新闻的标题可以直接进
13、入新闻的详细页面。如下图2所示:新闻发布系统广取暴典滂己万人聳灾 汴者中,岬钃广东省R玖rr报咨.sa台r衿-s算=系嫌:躑.金省大k分地区濡s暴bi:建?? 層垓WitSA灾咨影,.共壜攻全tfl8个布416万人5灾.E天死亡20人.夹球7人.鳶S蛘移 戋置SL 3万人.倒41和戸盧携F穷骤U9万W 攻扶坏罾7000阿直裱济狭夹49亿天 其中.8月163以来.暴司.共滂等灾番遣现全省178万人5灾.因灾死C15人.夹绎3人.5?移 移安置2. 2万人.图2新闻详细贞面由图2可以看到本页面包含了新闻的类别(吋政新闻)、新闻的标题、文章 作者以及文章被浏览的次数。并且返回列表可以返回到首贞面。本部分的详细代码(new_view.php)实现如下: ?