admin 管理员组

文章数量: 1087675


2024年4月23日发(作者:开发一个小程序大概多少钱)

维普资讯

图书馆研究与工作2006年第2期(总第106期) 

用PHP+MySQL构架数据库驱动的图书馆网站 

廖晓飞 (绍兴图书馆浙江绍兴312000) 

摘要文章对中小图书馆使用PHP+MySQL构架数据库驱动的网站进行了阐 

述,分析了其特点并介绍实现方法。 

关键词PHP MySQL数据库驱动网站 

1.前言 

2.2 PHP技术 

图书馆网站的建设是图书馆信息化建设的重 

PHP--Hypertext Preprocessor,是专为基于 

要组成部分,也是为读者提供网络化个性化服务 

Web的问题而设计的,是一种嵌人在HTML并由 

的重要平台。由于Unix安全性和稳定性都较好, 

服务器解释的脚本语言。可以将其理解成“插 

目前不少图书馆都选用它来构建平台。在Unix平 

件”,通过这个“插件”,Web服务器可以在接到浏 

台上构架数据库驱动的网站,需要选用一种合适 

览器的请求后不再仅仅发出一个文本的Web页 

的数据库系统,常用的有Sybase、Informix、Oracle 

面。安装了PHP后,Web服务器可以阅读一种新 

等主流数据库,这类数据库虽然很好,但价格不 

的类型的文件(PHP脚本),通过这种文件,服务器 

菲,对中小图书馆而言性价比并非最好。选用一 

种既经济安全又稳定可靠的数据库系统成为中小 

可以在响应浏览器的请求之前从数据库中读取实 

图书馆的必然选择。为此,本文提出了PHP与 

时的信息并将其加人到Web页面中去。PHP是完 

MySQL这一黄金组合来架构图书馆网站的方案, 

全免费的,遵循CNU规约,任何人均可按规约免 

很好地解决了这些问题。 

费使用并进行源码改写。使用者还可通过PHP的 

2.PHP+MySQL技术的介绍 

站点、邮件列表等方式获得技术支持。PHP技术 

2.1数据库驱动的网站 

有下列特点: 

数据库驱动的网站的实质就是允许站点的内 

(1)、容易掌握 

容存在于一个数据库中,并且可以通过这个数据 

由于PHP的语法完全借鉴于Perl、Java和C 

库来动态地产生Web页面来让访问者通过标准的 

语言,对于程序员来说,PHP很容易掌握。 

Web浏览器显示它。PHP脚本语言可以充当两者 

(2)、功能完备 

之间的联络员的角色,使用PHP,可以编写一个标 

PHP的功能是非常完备的,支持网络服务和 

准HTML的“模板”,这个“模板”决定了网站的外 

高精度的数学计算,提供对邮件服务的正则表达 

观(包括图画和页面设计),同时利用PHP来连接 式的支持。可以发送http头信息,设置session与 

MySQL数据库并且使用SQL查询来获得数据并在 

cookie等。需要强调的是,PHP可以解析XML,支 

其相应位置显示出来。数据库驱动的网站的运行 

持对元数据的管理,很适合基于元数据的信息系 

机制见图1。 

统开发。 

(3)、支持面向对象的程序设计 

PHP支持面向对象的程序设计方法,可以用 

类来定义抽象数据类型,将实体的特性和具体的 

操作分开,并隐藏实现细节,外部以统一的接口进 

行对象的控制。PHP提供一种模板类(template), 

图l、数据库驱动的网站运行机制 

使页面的设计和程序的设计彻底分离,特别有助 

28— 

维普资讯

廖晓飞 用PHP+MySQL构架数据库驱动的图书馆网站 

于美工方便地设计制作网页和编程人员设计结构 

清晰的PHP程序。 

(4)、强大的数据库支持 

PHP一个显著的特点是能够对众多的数据库 

提供良好的支持,像MySQL、MsSQL、Sybase、In— 

formix、Oracle,等主流数据库,都有专用的接口函数 

实现对它们的访问。 

(5)、速度快 

软件包解压,如:gunzaip apache一2.0.54一sol7一 

sparc—loca1.gz。 

3.2软件的安装及配置 

在Solaris系统下,可以用pkgadd命令安装软 

件包,对于上述软件包均可用pkgadd命令来完成 

安装。 

安装mysql:pkgadd—d mysql一4.0.21一 

sol'/—-sparc—-lcaol 

在Apache服务器上,PHP可以作为Apache 

安装php:pkgadd—d php一5.0.4一sol'/一 

的一个模块一同编译。当作为Apache的一个模 

块运行时,PHP无需占用额外的进程就可以直接 

返回结果,性能很好。高版本的PHP程序还可以 

编译之后执行,速度提高明显。 

2.3 MySQL数据库 

MySQL是一个精巧的SQL数据库管理系统, 

虽然它不是开放源代码的产品,但在Linux、Unix、 

和0S/2平台,MySQL可以自由使用。 

MySQL受到了广大自由软件爱好者甚至是商 

业软件用户的青睐,特别是与PHP结合,为建立基 

于数据库的动态网站提供了强大的动力。 

MySQL是一个快速、多线程、多用户和强壮的 

SQL数据库服务器。 

MySQL支持标准的结构化查询语言(ANSI 

SQL),使得存储、更新和存取信息更容易。它的 

SQL函数是经过类库优化的,在操作数据库时,占 

用内存很少,速度很快。 

另外,MySQL是一种网络数据库,支持多用 

户,可以分配用户口令和设置服务器的连接权限, 

以及数据库各对象的存取控制权限。当与一个服 

务器连接时,口令传送时是加密进行的,因此 

MySQL是安全的。 

MySQL支持多种数据类型,能够存储二进制 

文件和图像,可以满足多媒体开发的需要。 

3.在Unix系统下数据库驱动网站开发环境 

的建立 

目前市面上Unix种类很多,本文以Solaris为 

例,其他系统的安装配置基本相似。 

3.1软件的荻取 

apache一2.0.54一sol7一spare—loca1.gz 

mysql,-4.0.21一sol'/一sparc—loca1.gz 

php一5.0.4一sol7一sparc—loca1.gz 

以上软件包均可在WWW.sunfreeware.com网 

站上免费下载。下载好后,用gunzip命令把上述 

spax ̄—-local 

安装apache:pkgadd—d apache一2.0.54一 

sol7—-sparc—-local 

(1)MySQL的配置运行 

a、先建立一个用于运行mysql服务的组和用 

户,此组和用户均取名为“mysql” 

#groupadd mysql 

#useradd—-g mysql mysql 

b、进人安装目录,创建一个允许“mysql”用户 

访问的表 

#cd/usr/lcoal/mysql 

#seripts/mysql

_

instaU

_

db一一user=mysql 

C、改变相应用户的权限 

#chown—R root. 

#chown--R mysql data 

#chgrp—R mysq1. 

d、启动mysql服务 

#bin/mysqld

safe一一user=mysql& 

(2)apache和php的配置运行 

a、复制php配置文件 

撑cp php.ini—dist/usr/lcoal/lib/php.ini 

b、打开apache的配置文件,加人php模块 

#cd/usr/local/apache2/conf 

#vi httpd.conf 

在httpd.conf文件LoadModule段中加人: 

LoadModule php5

—.

module libexec/libphp5.SO 

在AddModule段加入: 

AddModule mod

php5.C, 

在AddType段加人 

AddType application/x—httpd—php.php. 

phtml 

AddType application/x—httpd—php一8ouI'ce. 

phps 

C、启动apache服务 

29— 

维普资讯

图书馆研究与工作

#cd/usr/local/apache2/bin/ 

撑./apachecfl start 

2006年第2期(总第106期) 

j}result=@mysq1.query(j}sql,j}dbid);//执 

行sql语句 

j}i=1; 

至此,一个基于solaris下的数据库驱动网站 

开发环境基本构建完毕。 

4.应用举例 

while(j}alTOW=@mysq1.fetch.rOW(j}re— 

suit));//逐行取数据,并添加到块items 

{ 

下面用一个分页显示读者列表的具体程序, 

说明PHP模板的使用方法和MySQL数据库的访 

问方法,读者信息包括借书证号、姓名、单位、校区 

(篇幅所限只列出这4项)。 

j}t一>Set.var(‘xh’,j}i),//)【h序号变量赋 

值 

j}t一>Set.var(‘Jszh’,j}aITOW[o]);//Jszh 

4.1读者列表readeilist.ihtml模版文件 

<html> 

<head><tilte></head> 

<body>{bt}</tilte><P>第{yh}页</p 

><table><tr><td>序号 

</td><td>借书证号</td><td>姓名 

</td><td>单位</td><td>校区</td></ 

t:> 

<!一一BEGINltem一一> 

<tr><td>{xh}</td><td>{Jszh}</td 

><td>{xln}</td><td>{dw} 

</td></tr><td>{xq}</td> 

<!一一END Item一一> 

</table></body></html> 

4.2 PHP处理程序 

j}Pageno//网页form传来的变量,指定显示 

的页号,每页显示20个读者 

//构造Select语句,定位行的范围¥sql=ge— 

lect jszh,xln,dw,xq from reader limit +(j}pageno一 

1) 20+ 20,; 

j}dbid=@mysq1.connect(‘localhost,,‘US— 

er,,‘password,);//连接MySQL 

@mysq1.select.db(‘book’,¥dbid);//选择 

数据库 

j}t=new Template(‘tpl’);//实例化一个 

Template类对象 

j}t一>Set—file(‘readerlist’,‘readelistiht— 

rrIl’);//读取模版文件,设置句柄 

j}t一>Set—block(‘readerlist’,‘item’,‘i— 

terns’);//载人一个块item,引用名称为ltems 

¥t一>Set.var(‘bt’,‘读者列表’);//标题 

从变量赋值 

j}t一>Set.var(‘yh’,j}pageno);//页号yh 

变量赋值 

3O— 

借书证号变量赋值 

¥t一>Set.var(‘xin’,¥aiTow(1]);//xm 

姓名变量赋值 

j}t一>Set.var(‘dw’,j}alTOW[2]);//dw 

单位变量赋值 

j}t一>Set.var(‘xq’,j}amw[3]);//xq校 

区变量赋值 

j}t一>parse(‘items’,‘item’,true),//分析 

Item,结果添加到Items的后面 

¥i++; 

} 

j}t一>parse(‘out’,‘readerlist’);//分析 

bookhst,结果赋out 

j}t一>p(‘out’);//输出out至网页 

@mysq1.close(j}dbid);//关闭数据库 

5.结束语 

PHP程序设计语言凭其强大的功能及开放 

性,成为网站开发的首选开发工具,尤其适合于涉 

及到大量的数据检索以及丰富的图形图像的网 

站。PHP作为编程语言,MySQL作为后台数据库, 

越来越成为动态Web站点的主流搭配。这种方案 

不但开发效率高,而且经济、可靠,特别适合图书 

馆使用来开发各具特色的网络信息服务系统。 

参考文献 

1.王启云.浅谈图书馆网站的设计与制作.现代图书情 

报技术,2001(2):49—51 

2.罗明,檀文钊.跨平台的PHP+MySQL北京:清华大学 

出版社,2000.10 

3.http://docs.sun.Corn 

4.http://gceclub.sun.coin.cn 

(作者信息]廖晓飞,男,绍兴图书馆信息技术部主任。 

(收稿日期:2006—02—24) 


本文标签: 数据库 网站 图书馆 驱动 设计