php与XML、XSLT、Mysql的结合运用实现代码_PHP教程
使用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、数据库结合更深一步的应用
require_once "DB.php"; //PEAR中的数据库处理类
$dataType = "mysql" ; //数据库类型
$user = "root"; //用户名
$pass = "abcd" ; //密码
$host="202.96.215.200"; //Mysql数据库服务器地址
$db_name = "test"; //数据库名
$dsn="$dataType://$user:$pass@$host/$db_name"; //连接数据库的DNS配制
$db = DB::connect($dsn); //连接数据库
if (DB::isError($db))
{
die ($db->getMessage()); //连接失败,输出出错信息
}
//下面二个是公共的函数
/**
* 读取xsl文档
*
* @param String $filename - xsl文件的名称
* @return string
*/
function readXsl($filename)
{
if(false==file_exists($filename))
{
echo "要读取的文件$filename不存在/>";
return false ;
}
return implode('', file($filename));
} //end function readXsl
/**
* 将xml文件或数组变量根据xsl文件转换成HTML内容
* http://knowsky.com
* @param array $arydata - 数组变量
* @param String $xslstring - xsl文档数据
* @param String $xmlstring - xml文档数据
*/
function getHtml($arydata = false, $xslstring = false, $xmlstring = false)
{
global $db ; //使用刚才的$db对象
include_once("XML/sql2xml.php"); //把sql2xml包含进来
$sql2xmlclass = new xml_sql2xml($db); //将sql2xml实例化
$sql2xmlclass->setEncoding("GB2312"); //设置数据的转码类型
if (false == $xmlstring) { // 如果用户传入数组数据,则应用该数组数据到xsl
//设置生成XML文档数据的节点名称
$options = array ( tagNameRow => "row" ,
tagNameResult => "result"
);
$sql2xmlclass->SetOptions($options);
//添加要生成XML文档的数据
$sql2xmlclass->add($arydata);
}
//得到xml文档
$xmlstring = $sql2xmlclass->getxml();
//print $xmlstring;
//下面开始将XML数据文档用XSLT转换成HTML文档
$arguments = array('/_xml' => $xmlstring,
'/_xsl' => $xslstring
);
$xh = xslt_create();
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', null, $arguments);
if ($result) {
return $result;
xslt_free($xh);
} else {
return "转换xml数据到xsl时出错";
xslt_free($xh);
}
} //end function getHtml()
//从用户信息表中查询数据的SQL语句
$sql = "select
nsrnm, #代码
qymc, #企业名称
qydh #电话
from
yhxx #用户信息表";
// 执行SQL语句
$res = $db->query($sql);
if ($db->isError($res))
{
echo "执行SQL语句时出错";
}
while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
{
$data[] = $row; //将数据放到一个数组中
}
//print_r($data);
//大家可以看到数据已经放到了一个多维的数组中了
//至此,我们的程序已经基本上完成了,再接下去,我们要定义显示数据的页面
//打开你的DW 或 FrontPage XP,制作显示的页面,我做了一个,并提供给大家下载
//我们制作的数据显示页面文件为:browesData.html
/*
这是我们平时要显示的数据列表界面

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

利用地理空间技术高效处理700万条记录并创建交互式地图本文探讨如何使用Laravel和MySQL高效处理超过700万条记录,并将其转换为可交互的地图可视化。初始挑战项目需求:利用MySQL数据库中700万条记录,提取有价值的见解。许多人首先考虑编程语言,却忽略了数据库本身:它能否满足需求?是否需要数据迁移或结构调整?MySQL能否承受如此大的数据负载?初步分析:需要确定关键过滤器和属性。经过分析,发现仅少数属性与解决方案相关。我们验证了过滤器的可行性,并设置了一些限制来优化搜索。地图搜索基于城

MySQL安装失败通常因缺少依赖项导致。解决方法:1.使用系统包管理器(如Linux的apt、yum或dnf,Windows的VisualC Redistributable)安装缺失的依赖库,例如sudoaptinstalllibmysqlclient-dev;2.仔细检查错误信息,逐一解决复杂的依赖关系;3.确保包管理器源配置正确,能访问网络;4.对于Windows,下载安装必要的运行库。养成阅读官方文档和善用搜索引擎的习惯,能有效解决问题。

DevOps工程师常面临RDS数据库优化与更新的挑战,尤其在高负载情况下,传统方法易导致停机风险。本文介绍AWS蓝/绿部署策略,实现RDS数据库零停机时间更新。告别数据库更新停机噩梦!本文将详细讲解蓝/绿部署策略,并提供AWS环境下的操作步骤,助您在不影响服务可用性的前提下,更新RDS数据库实例。准备工作首先,协调开发团队,选择工作负载流量最低的时段进行更新。良好的DevOps实践建议提前通知团队。本例演示如何利用蓝/绿部署,在零停机时间内缩减数据库实例存储空间。您可以通过AWSRDS控制台

MySQL拒启动?别慌,咱来排查!很多朋友安装完MySQL后,发现服务死活启动不了,心里那个急啊!别急,这篇文章带你从容应对,揪出幕后黑手!读完后,你不仅能解决这个问题,还能提升对MySQL服务的理解,以及排查问题的思路,成为一名更强大的数据库管理员!MySQL服务启动失败,原因五花八门,从简单的配置错误到复杂的系统问题都有可能。咱们先从最常见的几个方面入手。基础知识:服务启动流程简述MySQL服务启动,简单来说,就是操作系统加载MySQL相关的文件,然后启动MySQL守护进程。这其中涉及到配置

MySQL性能优化需从安装配置、索引及查询优化、监控与调优三个方面入手。1.安装后需根据服务器配置调整my.cnf文件,例如innodb_buffer_pool_size参数,并关闭query_cache_size;2.创建合适的索引,避免索引过多,并优化查询语句,例如使用EXPLAIN命令分析执行计划;3.利用MySQL自带监控工具(SHOWPROCESSLIST,SHOWSTATUS)监控数据库运行状况,定期备份和整理数据库。通过这些步骤,持续优化,才能提升MySQL数据库性能。

文章介绍了MySQL数据库的上手操作。首先,需安装MySQL客户端,如MySQLWorkbench或命令行客户端。1.使用mysql-uroot-p命令连接服务器,并使用root账户密码登录;2.使用CREATEDATABASE创建数据库,USE选择数据库;3.使用CREATETABLE创建表,定义字段及数据类型;4.使用INSERTINTO插入数据,SELECT查询数据,UPDATE更新数据,DELETE删除数据。熟练掌握这些步骤,并学习处理常见问题和优化数据库性能,才能高效使用MySQL。

MySQL安装报错的解决方法是:1.仔细检查系统环境,确保满足MySQL的依赖库要求,不同操作系统和版本需求不同;2.认真阅读报错信息,根据提示(例如缺少库文件或权限不足)采取对应措施,例如安装依赖或使用sudo命令;3.必要时,可尝试源码安装并仔细检查编译日志,但这需要一定的Linux知识和经验。最终解决问题的关键在于仔细检查系统环境和报错信息,并参考官方文档。

MySQL下载文件损坏,咋整?哎,下载个MySQL都能遇到文件损坏,这年头真是不容易啊!这篇文章就来聊聊怎么解决这个问题,让大家少走弯路。读完之后,你不仅能修复损坏的MySQL安装包,还能对下载和安装过程有更深入的理解,避免以后再踩坑。先说说为啥下载文件会损坏这原因可多了去了,网络问题是罪魁祸首,下载过程中断、网络不稳定都可能导致文件损坏。还有就是下载源本身的问题,服务器文件本身就坏了,你下载下来当然也是坏的。另外,一些杀毒软件过度“热情”的扫描也可能造成文件损坏。诊断问题:确定文件是否真的损坏
