php與xml、xslt、mysql的結合運用
瀏覽次數: 248
一 php與xml、xslt、mysql的結合運用,安裝篇
經常看到有使用者問一些關於php與xml、資料庫結合運用的貼子,也經常看到一些初學者
把php**與html**混寫到一起,然後在出錯的時候找不到錯誤,急得團團轉,下面我就給大
家講一下如何用xml技術將html**和php程式分離,當然,分離的技術有好多種,比如pear中
的it模板.
總的來說,個人認為使用xml技術是最方便的,廢話不多說了,我們言歸正傳,
講一下在win2000下的安裝
使用php中的xml與xslt要用到一些dll庫,
extension=php_domxml.dll //操作xml的函式庫
extension=php_iconv.dll //轉碼用的,比如將??????的轉成utf-8的
extension=php_xslt.dll //xslt的函式庫
使用上面這三個庫的時候,你要將php安裝目錄下的dlls目錄加入到路徑中,否則會找不到
這些類庫的
在下面的課程中,我們會用到php中的pear類庫,主要用了db類庫,sql2xml類庫,大家可以在
include_path = ".;d:/php/pear"
d:/php/pear 是我的pear的安裝路徑
設定完以後,重新啟動一下機器,否則因為路徑找不到而導致apache啟動不正常,無法正常使用
至此要使用php中的xml和xslt的設定就完成了,是不是很簡單
使用linux的使用者可以到
http://.gnu./software/libicon...關於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 ***ment='使用者資訊表';
# # 資料表內容 `yhxx`
# insert into yhxx values ('310109040111985', '喬家飲食發展****', '8621-63346626');
insert into yhxx values ('310104040221736', '上海嘉陵******', '74292546');
insert into yhxx values ('310108040331576', '翡翠藝術公司', '54861465');
接下來我開始寫抽取資料的程式與顯示資料的頁面
為了使大家都能明白,我使用最簡單的方法來寫程式
程式檔名稱:browesdata.php
頁面檔名稱:browesdata.html
如果大家對此技術感興趣,我再為大家講一下php與xml、xslt、資料庫結合更深一步的應用
?>
getmessage()); //連線失敗,輸出出錯資訊
} //下面二個是公共的函式
/**
* 讀取xsl文件
* * @param string $filename - xsl檔案的名稱
* @return string
*/ function readxsl($filename)
return implode('', file($filename));
} //end function readxsl
/**
* 將xml檔案或陣列變數根據xsl檔案轉換成html內容
* * @param array $arydata - 陣列變數
* @param string $xslstring - xsl文件資料
* @param string $xmlstring - xml文件資料
*/ function gethtml($arydata = false, $xslstring = false, $xmlstring = false)
//得到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) else
} //end function gethtml()
//從使用者資訊表中查詢資料的sql語句
$sql = "select
nsrnm, #**
qymc, #企業名稱
qydh #**
from
yhxx #使用者資訊表";
// 執行sql語句
$res = $db->query($sql);
if ($db->iserror($res))
while ($row = $res->fetchrow(db_fetchmode_assoc))
//print_r($data);
//大家可以看到資料已經放到了乙個多維的陣列中了
//至此,我們的程式已經基本上完成了,再接下去,我們要定義顯示資料的頁面
//我們製作的資料顯示頁面檔案為:browesdata.html
/* 這是我們平時要顯示的資料列表介面
**企業名稱
***/
//我把它加工成乙個xslt格式的html文件
/* <?xml version="1.0" encoding="??????"?>
**企業名稱**
*/ $htmlfile="browesdata.html" ;
$htmlstr = readxsl($htmlfile); //將xslt格式的html文件讀取到變數中
echo gethtml($data, $htmlstr) ;
//程式結束
?>
mysql與php的連線 PHP與Mysql的連線
寫程式切記馬虎,不細仔,真是寫程式的大忌中的大忌。所以以後寫 務必 細心仔細不驕不燥,才能寫出來好 來,避免迷惘。echo this is a test echo asdfasdfadsf mysql server name localhost 資料庫伺服器名稱 mysql username roo...
PHP基本格式與PHP變數 常量
php是一種建立動態互動性站點的強有力的伺服器端指令碼語言。php 1.變數規則 變數以 符號開始,後面跟著變數的名稱 變數名必須以字母或者下劃線字元開始 變數名只能包含字母數字字元以及下劃線 a z 0 9和 變數名不能包含空格 變數名是區分大小寫的 y和 y 是兩個不同的變數 2.php變數作用...
PHP 一一 PHP與MySQL相關操作
所有由上圖可知,php 想與mysql 進行互動必須有 5個步驟。要用到的知識點 mysql conncect 主機名稱如localhost mysql使用者名稱如root mysql密碼如root 要用到的知識點 mysql select db 資料庫的名稱 要用到的知識點 mysql query...