日期:2012-07-30  浏览次数:20486 次

    经常看到有用户问一些关于php与XML、数据库结合运用的贴子,也经常看到一些初学者
    把php代码与HTML代码混写到一起,然后在出错的时候找不到错误,急得团团转,下面我就给大
    家讲一下如何用XML技术将HTML代码和PHP程序分离,当然,分离的技术有好多种,比如PEAR中
    的IT模板.
    总的来说,个人认为使用XML技术是最方便的,废话不多说了,我们言归正传,
    讲一下在win2000下的安装

    使用php中的xml与xslt要用到一些dll库,
    extension=php_domxml.dll   //操作XML的函数库
    extension=php_iconv.dll    //转码用的,比如将GB2312的转成UTF-8的
    extension=php_xslt.dll     //XSLT的函数库
   
    使用上面这三个库的时候,你要将php安装目录下的dlls目录加入到路径中,否则会找不到
    这些类库的
   
    在下面的课程中,我们会用到php中的PEAR类库,主要用了DB类库,Sql2XML类库,大家可以在
    pear.php.net上下载最新的版本
    下载完上面二个类库以后,大家最好在php.ini中设置一下
    include_path = ".;d:phppear"
   
    d:phppear  是我的pear的安装路径
   
    设置完以后,重新启动一下机器,否则因为路径找不到而导致Apache启动不正常,无法正常使用
   
   
    至此要使用PHP中的XML和XSLT的设置就完成了,是不是很简单:)
    使用Linux的用户可以到
    http://www.gingerall.com/下载关于XSLt的源码
    http://www.gnu.org/software/libiconv/下载关于Iconv的源码
   
二  php与XML、XSLT、Mysql的结合运用,初级篇
    下面我要讲的是一个简单的从数据库中抽取数据,生成XML文档,使用XSLT转换成HTML的过程,
    该过程只讲使用这一技术的过程,不会涉及分页等其它的技术
   
    该示例我使用下面的数据库表及数据
    表名:企业用户信息表,英文名:yhxx
    表结构:
    #
    # 数据表的结构 `yhxx`
    #
   
    CREATE TABLE yhxx (
      nsrnm varchar(15) NOT NULL default '',
      qymc varchar(200) NOT NULL default '',
      qydh varchar(50) NOT NULL default '',
      PRIMARY KEY  (nsrnm)
    ) TYPE=MyISAM COMMENT='用户信息表';
   
    #
    # 数据表内容 `yhxx`
    #
   
    INSERT INTO yhxx VALUES ('310109040111985', '乔家饮食发展有限公司', '8621-63346626');
    INSERT INTO yhxx VALUES ('310104040221736', '上海嘉陵贸易有限公司', '74292546');
    INSERT INTO yhxx VALUES ('310108040331576', '翡翠艺术公司', '54861465');
   
   
    接下来我开始写抽取数据的程序与显示数据的页面
    为了使大家都能明白,我使用最简单的方法来写程序
   
    程序文件名称:browesData.php
    页面文件名称:browesData.html
    程序及页面文件提供下载,本程序已经在win2000、mysql下通过测试
    代码见下一页


如果大家对此技术感兴趣,我再为大家讲一下php与xml、xslt、数据库结合更深一步的应用