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)
版权声明:本文标题:用PHP+MySQL构架数据库驱动的图书馆网站 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713860171a654887.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论