php源码新闻发布系统.docx

上传人:b****8 文档编号:10978378 上传时间:2023-02-24 格式:DOCX 页数:14 大小:24.64KB
下载 相关 举报
php源码新闻发布系统.docx_第1页
第1页 / 共14页
php源码新闻发布系统.docx_第2页
第2页 / 共14页
php源码新闻发布系统.docx_第3页
第3页 / 共14页
php源码新闻发布系统.docx_第4页
第4页 / 共14页
php源码新闻发布系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

php源码新闻发布系统.docx

《php源码新闻发布系统.docx》由会员分享,可在线阅读,更多相关《php源码新闻发布系统.docx(14页珍藏版)》请在冰豆网上搜索。

php源码新闻发布系统.docx

php源码新闻发布系统

第一讲:

用phpmyadmin建立数据库

首先建立一个数据库,名为yayu。

在这个数据库下建立一个数据表,名为news。

下面进入一个重点,那就是在表news下建立各个字段。

那么,什么叫字段呢?

通俗点,就是一类事物的总称。

比如说,所有的新闻发表时间用一个名词来代表(从偶的经验来看,用phpmyadmin建立字段可以用中文,但从习惯来说还是用英文,没办法,计算机美国最牛嘛)。

偶们用“time”来表示。

在字段time下可以有很多“发表时间",那么如何来区分这些时间呢,这个可以查询其它字段下的内容,比如偶们建立新闻的标题的字段为“title”,title字段下的内容按照常理说来是没有一样的.所以可以通过一个标题来查询这个发表时间。

其实我们可以让每个title或time下的内容都对应一个编号,那就是字段——

“id”:

字段“id”是一个人们默认的首选字段,其它字段下的内容可以重复出现,但这个字段却是从1开始增大的阿拉伯数字.在设置这个字段时,要设置主键、索引、唯一以及auto—increment。

这个auto-increment就是自动增加的意思。

当任一字段增加内容时,这个字段就自动增加1,也就是说,任一字段都对应一个唯一的id,比如1、2、7……

下面谈谈新闻部分字段的建立。

1。

id:

意义为每个新闻的编号,它是唯一的,类型为tingint,这个tingint类型无须指定长度,系统默为4;在“额外”中选择auto-increment,并选择主键.

2.author:

意义为作者(新闻发布人),设置类型为varchar,设置这个字段长度时,如果考虑作者均为中国人,则8个字节为上限(4个汉字),但如果考虑到作者可能为外国人,8个字节显然太少了,对其它字段也存在同样的问题,在这里偶们把长度设置为8吧。

3.title:

意义为新闻标题,类型为varchar,长度为60吧,属性为primanykey。

4.content:

意义为新闻的内容,类型为text。

这个类型无须设置长度了。

5.source:

意义为新闻的来源,类型为varchar,长为60。

6。

date:

意义为发表时间,类型为datetime,长度无须设置,属性为primanykey。

下面补充以下字段类型的相关内容:

1.date:

时间和日期类型。

时间和日期类型还包括以下:

⊕datetime:

0000-00—0000:

00:

00

⊕date:

0000-00—00

⊕timestamp:

00000000000000(14个0,长度取决于显示尺寸)

⊕time:

00:

00:

00

⊕year:

0000

2.content字段代表新闻内容,由于其容量可能会很大,因此采用text类型(最多支持65535字节)

3.title字段设置为primanykey,如果不会有一条以的新闻具有相同的发表时间,date字段也可以作为?

primanykey,这样今后对新闻的排序和检索会更加方便。

4.text类型的字段虽然也属于一种字符类型,但其大小不能指定,如果设置长度,则系统会提示SQL语句出错.

现在,news数据表就建立好了。

由于新闻不是所有人都能增加的,只能有管理员来做,所以现在我们再来建立数据表users来存放管理员们。

1:

id:

类型为tinyint,额外设置为auto-increment、主键。

2:

name:

意义为管理员名称,类型为varchar,长为8,属性为primanykey。

3:

password:

意义为密码,类型为varchar,长为32.

4:

mail:

一样为邮件地址,类型为varchar,长为30.

现在,两个数据库就设置好了,下面偶们进入新闻程序的开发中。

第二讲:

新闻程序的基础

一.连接数据库的基础

偶们添加、取出、修改、删除新闻都必须首先做一件事,那就是连接主机,选择数据库,向数据库发出请求。

否则一切都是纸上谈兵。

下面介绍三个重要的MySQL语句,分别是:

mysql_pconnect()(连接主机),mysql_select_db()(选择数据库),mysql_query()(向数据库发出请求).

1.mysql_pconnect()

它的作用是连接主机。

语法为:

mysql_pconnect(“要登陆的主机","登陆时的用户名”,"密码”);

如mysql_pconnect(“localhost",”root",”");

其中的“localhost”、“root”都是phpmyadmin默认下的主机名和用户名,并且密码为空.

同功能的函数还有mysql_connect()。

语法是一样的,区别在于前者开启一个长期连接,且无法使用mysql_close()函数关闭,而后者使用完后要用mysql_close()及时的关闭.对于一个网站来说,使用前者比后者好.这样可以减轻MySQL服务器处理连接和关闭连接的负担。

这个函数成功连接后,会返回一个连接ID。

因此,这个函数一般这样写:

$link=mysql_pconnect();

说到这,补充一个函数mysql_close(),

语法为:

mysql_close(“要关闭的连接ID”);

比如:

mysql_close($link);

注:

所有()内都为字符串,有$符号时就无须”"了。

2.mysql_select_db()

它的作用是选择一个数据库为当前数据库。

以后的操作就都在这个数据库中进行了.这个函数如果执行成功,返回一个true,否则返回false.

语法为:

mysql_select_db(“数据库名称","连接的ID”);

第二个参数可以省略,它会自动寻找并连接最后一个使用的连接ID。

在本程序中,这个语句偶们写成:

mysql_select_db(“yayu",$link);

3.mysql_query()

它的作用是向服务器发出一个提出请求的字符串。

语法为:

mysql_query(“提出问题的字符串”,连接ID);

其中第一个参数是一个完整的MySQL语句,第二个参数可以省略,偶一般是把它省略的。

在使用这个函数前应该先用mysql_select_db()指定要使用的数据库。

当提问的字符串是update、insert或delete时,函数返回的结果是true或false,表明查询是否成功,如果提问字符串是select语句则返回一个结果ID,如果select发生错误,则返回false.

了解了上面三个重要的函数后,偶们就可以对数据库发号施令了。

那偶们用什么来发号施令呢?

下面偶们再来看四个MySQL语句吧!

二.向数据库发出请求语句基础知识

它们分别是:

insert(向数据库插入数据)、delete(删除数据表中的数据)、select(检索数据)、update(更新数据)。

1insert():

向数据库插入数据。

语法A:

insertinto数据表名(字段1,字段2,……)values(“字段1d的内容",”字段的2内容"……)

语法B:

insertinto数据表名set字段1="字段1的内容",字段2=”字段2的内容”,……

对A中,字段名可以省略,但后面的values部分的内容必须要和phpmyadmin中定义的字段顺序一样.

下面请看例子:

A:

insertintonews(title,date,author,source,content)values($title,$date,$author,$source,$content)

注:

上面的“$……“代表了要添加字段的内容,定义时:

$……=内容;

B:

insertintonewssettitle=$title,author=$author

注:

如果内容是数字,则””可以省略。

2delete():

删除数据表中的数据

语法:

deletefrom数据表名where指定地点limit数字

如果没有“where指定地点”则表中所有数据都没了.“limit 数字”可以告诉服务器可以删除的最大行数。

    例子:

deletefromnewswhereid=$idlimit1

3.select():

检索数据

语法:

select字段名1,字段2,……from数据表名where地点

如果想列出所有记录中所有列的数据,可以使用“*“代表字段名.

例子:

A:

selectid,authorfromnewswhereid=$id

B:

select*fromnewswhereid=$id

4update():

更新数据

语法和insert几乎是完全一样的。

如:

updatenewssetauthor=$author,title=$titlewhereid=$id

值得注意的是,使用update语句时,要注意使用where字句,否则可能会导致大量的数据丢失。

比如:

updatenewssetauthor=”芽雨"

这个操作会使表中所有的作者都变成“芽雨”了。

再举一个正面的例子,记录管理员的表users中,如果有一个字段为age,用来存储用户的年龄,一年后,他们要增加一岁,可以使用以下的语句:

updateuserssetage=age+1

太好了,偶们现在已经掌握程序大部分的基础了,还有小部分偶们以后在例子中掌握吧.

现在偶们面临的问题是如何写出算法了。

 

第三讲:

新闻程序的算法

(一)———-—-添加新闻

一。

添加新闻

添加新闻既是向数据库添加新的数据。

整个算法是这样的:

管理员在表单中填写新闻的内容,包括:

title,author,source,content,另外两个字段(id,time)的内容有服务器完成,当然也要自己写程序,只是不由自己手动而已。

提交表单后,用MySQL语句将它们添加到数据库中。

下面简单介绍一下表单中标签和标签.

标签为单行文本框。

偶们常用的属性有:

name,type。

name属性指定了变量的名称,既这个名称代表了这个中的内容。

type属性指定了

如果type=text,则为一般性的文字.如果type=password,则这个“