简单的php新闻发布系统教程(第一版)第一讲:用 phpmyadmin 建立数据库首先建立一个数据库,名为 yayu 。在这个数据库下建立一个数据表,名为 news 。下面进入一个重点,那就是在表 news 下建立各个字段。
那么,什么叫字段呢?通俗点,就是一类事物的总称。比如说,所有的新闻发表时间用一个名词来代表(从偶的经验来看,用 phpmyadmin 建立 字段可以用中文,但从习惯来说还是用英文,没办法,计算机美国最牛嘛)。偶们用“ time ”来表示。在字段 time 下可以有很多“发表时间”,那 么如何来区分这些时间呢,这个可以查询其它字段下的内容,比如偶们建立新闻的标题的字段为“ title ”, title 字段下的内容按照常理说来是 没有一样的。所以可以通过一个标题来查询这个发表时间。其实我们可以让每个 title 或 time 下的内容都对应一个编号,那就是字段——
“ id ”:字段“ id ”是一个人们默认的首选字段,其它字段下的内容可以重复出现,但这个字段却是从 1 开始增大的阿拉伯数字。在设置这 个字段时,要设置主键、索引、唯一以及 auto-increment 。这个 auto-increment 就是自动增加的意思。当任一字段增加内容 时,这个字段就自动增加 1 ,也就是说,任一字段都对应一个唯一的 id ,比如 1 、 2 、 0 27 ……
下面谈谈新闻部分字段的建立。
1. id :意义为每个新闻的编号,它是唯一的,类型为 tingint ,这个 tingint 类型无须指定长度,系统默为 4 ;在“额外”中选择 auto-increment ,并选择主键。
2. author :意义为作者 (新闻发布人),设置类型为 varchar ,设置这个字段长度时,如果考虑作者均为中国人,则 8 个字节为上限( 4 个汉字),但如果考虑到作者 可能为外国人, 8 个字节显然太少了,对其它字段也存在同样的问题,在这里偶们把长度设置为 8 吧。
3. title :意义为新闻标题,类型为 varchar ,长度为 60 吧,属性为 primany key 。
4. content :意义为新闻的内容,类型为 text 。这个类型无须设置长度了。
5. source :意义为新闻的来源,类型为 varchar ,长为 60 。
6. date :意义为发表时间,类型为 datetime ,长度无须设置,属性为 primany key 。
下面补充以下字段类型的相关内容:
1 . date :时间和日期类型。时间和日期类型还包括以下:
⊕ datetime : 0000-00-00 00:00:00
⊕ date: 0000-00-00
⊕ timestamp: 00000000000000 ( 14 个 0 ,长度取决于显示尺寸)
⊕ time: 00:00:00
⊕ year: 0000
2 . conten t 字段代表新闻内容,由于其容量可能会很大,因此采用 text 类型(最多支持 65535 字节)
3 . title 字段设置为 primany key ,如果不会有一条以的新闻具有相同的发表时间, date 字段也可以作为? primany key ,这样今后对新闻的排序和检索会更加方便。
4 . text 类型的字段虽然也属于一种字符类型,但其大小不能指定,如果设置长度,则系统会提示 SQL 语句出错。
现在, news 数据表就建立好了。
由于新闻不是所有人都能增加的,只能有管理员来做,所以现在我们再来建立数据表 users 来存放管理员们。
1 : id :类型为 tinyint ,额外设置为 auto-increment、主键。
2 : name :意义为管理员名称,类型为 varchar ,长为 8 ,属性为 primany key 。
3 : password :意义为密码, 类型为 varchar ,长为 32 。
4 : mail :一样为邮件地址, 类型为 varchar ,长为 30 。
现在,两个数据库就设置好了,下面偶们进入新闻程序的开发中。
芽雨原创php新闻系统教程(第一版) 第二讲:新闻程序的基础
一.连接数据库的基础
偶们添加、取出、修改、删除新闻都必须首先做一件事,那就是连接主机,选择数据库,向数据库发出请求。否则一切都是纸上谈兵。下面介绍三个重要的 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 (更新数据)。
1 insert ():向数据库插入数据 。
语法A: insert into 数据表名(字段1,字段2,……) values(“ 字段1 d 的内容 ”,” 字段的2内容 ” …… )
语法B: insert into 数据表名 set 字段1 =” 字段1的内容 ”, 字段 2=” 字段 2 的内容 ”, ……
对A中,字段名可以省略,但后面的 values 部分的内容必须要和 phpmyadmin 中定义的字段顺序一样。
下面请看例子:
A: insert into news(title,date,author,source,content) values($title,$date,$author,$source,$content)
注:上面的“ $ ……“代表了要添加字段的内容,定义时: $ …… = 内容 ;
B: insert into news set title=$title,author=$author
注:如果内容是数字,则 ”” 可以省略。
2 delete ():删除数据表中的数据
语法: delete from 数据表名 where 指定地点 limit 数字
如果没有“ where 指定地点”则表中所有数据都没了。“ limit 数字”可以告诉服务器可以删除的最大行数。
例子: delete from news where id=$id limit 1
3. select () : 检索数据
语法: select 字段名1 , 字段2 , …… from 数据表名 where 地点
如果想列出所有记录中所有列的数据,可以使用“ * “代表字段名。
例子:A: select id,author from news where id=$id
B: select * from news where id=$id
4 update ():更新数据
语法和 insert 几乎是完全一样的。
如: update news set author=$author,title=$title where id=$id
值得注意的是,使用 update 语句时,要注意使用 where 字句,否则可能会导致大量的数据丢失。比如:
update news set author=” 芽雨 ”
这个操作会使表中所有的作者都变成“芽雨”了。
再举一个正面的例子,记录管理员的表 users 中,如果有一个字段为 age ,用来存储用户的年龄,一年后,他们要增加一岁,可以使用以下的语句:
update users set age=age+1
太好了,偶们现在已经掌握程序大部分的基础了,还有小部分偶们以后在例子中掌握吧。
现在偶们面临的问题是如何写出算法了。
芽雨原创php新闻系统教程(第一版) 第三讲:新闻程序的算法(一) ------ 添加新闻
一。添加新闻
添加新闻既是向数据库添加新的数据。
整个算法是这样的:管理员在表单中填写新闻的内容,包括: title,author,source,content ,另外两个字段 ( id,time )的内容有服务器完成,当然也要自己写程序,只是不由自己手动而已。提交表单后,用 MySQL 语句将它们添加到数据库中。
下面简单介绍一下表单中 标签和 标签。
标签为单行文本框。偶们常用的属性有: name, type 。 name 属性指定了变量的名称,既这个名称代表 了这个 中的内容。 type 属性指定了 中内容的性质。如果 type=text ,则为 一般性的文字。如果 type=password ,则这个“ ”中的内容在浏览器一律以黑点显示,这样可以在输入内容时不 会在无意中被他人见到而造成数据安全问题。
标签为多行文本框,常用属性为 name 。
在本程序中此段程序如下所示:
在“ name="author" ”中的 "author" 就代表了“ ”中的内容。同样的,这个 "author" 也可以是 "title" 或者其他,值得注意的是,这个 "author" 和字段 author 是不一样的。偶在这个地方提到 两个非常相似的概念:字段 author 和变量 $author (上面的 ”author” 实际上就是 $ author ,因为它代表了 “ ”中的内容)。虽然它们几乎是同名的,但可绝对不是一回事。 Author 是数据表 news 里的一个字段名, PHP 用它来有限定的访问 MySQL 中的数据,在程序中是不能用其它的字符替换的;而 $author 是本程序中用户自己设定的变量符号,其值由 “ ”中对应元素的 name 属性得到。既然它只是变量符号,偶们就可以使用任意字段,只要保证与表单中对应元素的 name 属性一致就可。之所以选择用与字段名相同的字符,是因为这样偶们就不必再费力去多记一个变量名而已。
偶们再来看 标签中的内容:
这个 中的内容是用来得到 content 字段内容的,因为此字段中的内容太多,所以只能用这个标签了。
当偶们填好这些内容后,只要提交就可以了,那么这一过程又是如何实现的呢? 下面偶们再来看以下的程序:
这里的 type="submit"/ type="reset" 分别代表提交和重写新闻。 value 属性的内容在此按钮上显示出来。 name=" reset"/ name="submit" 中的含义和上面所说的是一样的。
HTML 中的表单( form )元素是专门负责也用户进行交互式操作的。当点击类型为 submit 的按钮时,表单中所有的元素都将以变量的形式提交给 action 所指的文件来处理。变量名由该元素的 name 属性来确定。在本程序中这个代码如下:
";echo $edit;
}
上面“ if(@$_GET["id"]) ”中的“ @ ”意思是说禁止函数返回出错提示。这样当程序出现异常时,不至于让普通用户看见那莫名其妙的出错信息。
值得一说的是,偶们把可以修改的内容放在属性 value 中,既“ value=".$row["title"]." ”等。
在

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version
