Home >Backend Development >PHP Tutorial >Combining php with XML, XSLT, and Mysql to implement code_PHP tutorial

Combining php with XML, XSLT, and Mysql to implement code_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:43:04824browse

Using XML and UTF-8's
extension=php_xslt.dll //XSLT function library
When using the above three libraries, you need to add the dlls directory in the php installation directory to the path, otherwise it will not be found
These class libraries
In the following courses, we will use the PEAR class library in php, mainly using the DB class library and Sql2XML class library. You can go to
pear.php.net Download the latest version
After downloading the above two class libraries, you'd better set it in php.ini
include_path = ".;d:phppear"
d:phppear is my pear installation After the path
is set, restart the machine, otherwise Apache will not start properly because the path cannot be found and cannot be used normally

At this point, the settings for using XML and XSLT in PHP are completed. Isn’t it very simple:)
Users using Linux can go to
http://www.gingerall.com/ to download the source code of XSLt
http://www.gnu.org/software/libiconv/ Download the source code about Iconv
The combination of PHP with XML, process,
This process only talks about the process of using this technology, and will not involve other technologies such as paging.
For this example, I use the following database table and data.
Table name: Enterprise user information table, English name :yhxx
Table structure:
#
# Data table structure `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='User information table';
#
# Data table content `yhxx`
#
INSERT INTO yhxx VALUES ('310109040111985', 'Qiaojia Catering Development Co., Ltd.', '8621-63346626');
INSERT INTO yhxx VALUES ('310104040221736', 'Shanghai Jialing Trading Co., Ltd.', '74292546');
INSERT INTO yhxx VALUES ('310108040331576', 'Jade Art Company', '54861465');

INSERT INTO Next, I started to write the program to extract data and the page to display the data
In order to make everyone understand, I used the simplest method to write the program
Program file name: browesData.php
Page file name: browesData .html
The program and page files are available for download. This program has been tested under win2000 and mysql.
See the code on the next page.

If you are interested in this technology, I will explain it to you again. PHP is combined with XML,


require_once "DB.php"; //Database processing class in PEAR
$dataType = "mysql"; //Database type
$user = "root "; //Username
$pass = "abcd" ; //Password
$host="202.96.215.200"; //Mysql database server address
$db_name = "test"; //Database Name
$dsn="$dataType://$user:$pass@$host/$db_name"; //DNS configuration to connect to the database
$db = DB::connect($dsn); // Connect to the database
if (DB::isError($db))
{
die ($db->getMessage()); //Connection failed, output error message
}
//The following two are public functions
/**
* Read xsl document
*
* @param String $filename - the name of the xsl file
* @return string
*/
function readXsl($filename)
{
if(false==file_exists($filename))
{
echo "The file to be read$filename does not exist
";
return false;
}
return implode('', file($filename));
} //end function readXsl
/**
* Convert xml files or array variables into HTML content based on xsl files
* http://knowsky.com
* @param array $arydata - array variable
* @param String $xslstring - xsl document data
* @param String $xmlstring - xml document data
*/
function getHtml($arydata = false, $xslstring = false, $xmlstring = false)
{
global $db; //Use the $db object just now
include_once("XML/sql2xml.php"); //Include sql2xml
$sql2xmlclass = new xml_sql2xml($db); //Instantiate sql2xml
$sql2xmlclass->setEncoding("GB2312"); //Set the data transcoding type
if (false == $xmlstring) { // If the user passes in array data, apply the array data to xsl
//Set the node name to generate XML document data
$options = array ( tagNameRow => "row" ,
tagNameResult => "result"
);
$sql2xmlclass->SetOptions($options);
//Add data to generate XML document
$sql2xmlclass->add($arydata);
}
//Get the xml document
$xmlstring = $sql2xmlclass->getxml();
//print $xmlstring;
//Let’s start converting the XML data document into HTML using XSLT Document
$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 "Error converting xml data to xsl";
xslt_free($xh);
}
} //end function getHtml()


//SQL statement to query data from the user information table
$sql = "select
nsrnm, #code
qymc, #business name
qydh #phone
from
yhxx #User information table";
//Execute SQL statement
$res = $db->query($sql);
if ($db->isError($res) )
{
echo "Error while executing SQL statement";
}
while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
{
$data[] = $row; //Put the data into an array
}
//print_r($data);
//You can see that the data has been placed into a multi-dimensional array
//At this point, our program has basically been completed. Next, we need to define the page that displays the data
//Open your DW or FrontPage XP and create a display page. I made one and provided it to Download
//The data display page file we created is: browesData.html
/*
This is the data list interface we usually display



Data Browse











Code Company namePhone
     < ;/td>




Copy code The code is as follows:

*/
//我把它加工成一个XSLT格式的HTML文档
/*







数据浏览




















代码 企业名称 电话
     






*/
$htmlFile="browesData.html" ;
$htmlStr = readXsl($htmlFile); //将xslt格式的HTML文档读取到变量中
echo getHtml($data, $htmlStr) ;
//程序结束
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/320842.htmlTechArticle使用php中的xml与xslt要用到一些dll库, extension=php_domxml.dll //操作XML的函数库 extension=php_iconv.dll //转码用的,比如将GB2312的转成UTF-8的 extensio...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn