Heim Backend-Entwicklung PHP-Tutorial php与XML、XSLT、Mysql的结合运用实现代码_PHP教程

php与XML、XSLT、Mysql的结合运用实现代码_PHP教程

Jul 21, 2016 pm 03:43 PM
mysql php xml xslt Und 代码 使用 实现 von 结合 wollen 运用

使用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
/*
这是我们平时要显示的数据列表界面




Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

Ist Debian Strings kompatibel mit mehreren Browsern Ist Debian Strings kompatibel mit mehreren Browsern Apr 02, 2025 am 08:30 AM

"DebianStrings" ist kein Standardbegriff und seine spezifische Bedeutung ist noch unklar. Dieser Artikel kann seine Browserkompatibilität nicht direkt kommentieren. Wenn sich jedoch "DebianStrings" auf eine Webanwendung bezieht, die auf einem Debian -System ausgeführt wird, hängt seine Browserkompatibilität von der technischen Architektur der Anwendung selbst ab. Die meisten modernen Webanwendungen sind für die Kompatibilität des Cross-Browsers verpflichtet. Dies beruht auf den folgenden Webstandards und der Verwendung gut kompatibler Front-End-Technologien (wie HTML, CSS, JavaScript) und Back-End-Technologien (wie PHP, Python, Node.js usw.). Um sicherzustellen, dass die Anwendung mit mehreren Browsern kompatibel ist, müssen Entwickler häufig Kreuzbrowser-Tests durchführen und die Reaktionsfähigkeit verwenden

Welche Art von Cache-Lösung sollte ein 4-Core-8G-Speicherserver auswählen, wenn Sie Django und MySQL verwenden, um Hunderttausende bis ein oder zwei Millionen Daten zu verarbeiten? Welche Art von Cache-Lösung sollte ein 4-Core-8G-Speicherserver auswählen, wenn Sie Django und MySQL verwenden, um Hunderttausende bis ein oder zwei Millionen Daten zu verarbeiten? Apr 01, 2025 pm 11:36 PM

Verwenden von Django und MySQL, um große Datenvolumina bei Verwendung von Django- und MySQL -Datenbanken zu verarbeiten, wenn Ihr Datenvolumen Hunderttausende bis ein oder zwei Millionen erreicht hat ...

Wie gibt ich die mit dem Modell in Beego Orm zugeordnete Datenbank an? Wie gibt ich die mit dem Modell in Beego Orm zugeordnete Datenbank an? Apr 02, 2025 pm 03:54 PM

Wie kann man im Beegoorm -Framework die mit dem Modell zugeordnete Datenbank angeben? In vielen BeEGO -Projekten müssen mehrere Datenbanken gleichzeitig betrieben werden. Bei Verwendung von BeEGO ...

So wenden Sie Debian Strings auf einer Website an So wenden Sie Debian Strings auf einer Website an Apr 02, 2025 am 08:21 AM

In diesem Artikel wird erläutert, wie die Website der Website auf Debian -Systemen optimiert wird. "DebianStrings" ist kein Standardbegriff und kann sich auf Tools oder Technologien beziehen, die in Debian -Systemen verwendet werden, um die Website der Website zu verbessern. Im Folgenden finden Sie einige praktische Tipps: 1. Es wird empfohlen, das Pagode -Panel zu verwenden, um den Installations- und Konfigurationsprozess für die Konfiguration von Webserver und PHP -Umgebung zu vereinfachen. Es wird empfohlen, Nginx1.22.1 als Webserver, Php8.2 als Skript-Interpreter und MySQL10.7.3-MariADB als Datenbanksystem zu installieren. Stellen Sie sicher, dass Sie die erforderlichen PHP

Was genau macht db.metadatas ['auth']. Tabellen ['Benutzer'] in Flask-SQLALCHEMY? Was genau macht db.metadatas ['auth']. Tabellen ['Benutzer'] in Flask-SQLALCHEMY? Apr 01, 2025 pm 09:15 PM

Detaillierte Erläuterung der Datenbankbindung von Flask-SQLalchemy und Metadaten Bei Verwendung von Flask-SQLALCHEMY für Datenbankvorgänge stoßen Sie häufig auf mehrere Datenbanken. Dieser Artikel ...

See all articles