一 php与XML、XSLT、Mysql的结合运用,安装篇

 更新时间:2016年11月25日 16:55  点击:1977
原创:
作者:xiaocon
邮箱:xiaocon@21cn.com
转载请注明出处
一 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    //转码用的,比如将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的用户可以到
脚本
*************
* VMLgraph.js
*************
var xo=0;
var yo=0;
var ox=80;
var oy=20;
var dx=0;
var dy=0;
var drawKey = false;
var itemID = 0;
var ShapeItemNum = 0;
var ShapeItemX = 0;
var ShapeItemY = 0;
var CurveItemNum = 0;
var NodeDelete = false;
var ToolBarNum = 2; // 预置的工具编号
var gradientX = -1;
function cursor(k) {
    xo = event.clientX - ox;
    yo = event.clientY - oy;
    if(k && xo>=0 && yo>=0)
    oxy.innerHTML = xo+","+yo;
    else
    oxy.innerHTML = "";
    if(drawKey) {
    paint();
    view.innerHTML = tree(canvas.documentElement,0);
    }
}
function setOverColor(v) {
    if(! NodeDelete) return;
    v.myColor = v.strokecolor;
    if(v.strokecolor == "red")
    v.strokecolor='#000000';
    else
    v.strokecolor='#ff0000';
}
function setOutColor(v) {
    if(! NodeDelete) return;
    v.strokecolor = v.myColor;
    view.innerHTML = tree(canvas.documentElement,0);
}
function deleteNode(v) {
    if(! NodeDelete) return;
    var id = v.id;
    for(i=0;i<canvas.selectNodes("/*//*").length;i++) {
    var node = canvas.selectNodes("/*//*")[i];
    if(node.getAttribute("id") == id) {
        canvas.documentElement.childNodes[0].removeChild(node);
主控
***************
* VMLgraph.htm
***************
<html>
<xmlns:v="urn:schemas-microsoft-com:vml" />
<head>
<meta http-equiv="Content-type" content="text/html; charset=gb2312">
<title>VML绘图板</title>
<style>
v:* { behavior: url(#default#VML); }
td { font-size:9pt; }
</style>
</head>
<script src="VMLgraph.js"></script>
<script src="XMLtool.js"></script>
<script language="JavaScript">
// 钩子函数,当选择了工具时被调用
function hooke() {
}
</script>
<body onLoad="init()">
<table>
<tr>
    <td width=61 valign=top>
     <span id="toolbox"></span><br>
     <span id="linebox"></span><br>
     <span id="opacity1"></span><br>
    </td>
    <td valign=top>
     <span id="view" align=left valign=top>
    你的浏览器可能不支持VML!请使用IE5+。需要xml3.0支持。<br>
    最佳效果出现在IE6。
     </span>
    </td>
    <td valign=top>
     <input type=button value="刷新" style="height:16; border:1px solid #C0C0C0;" onClick="view.innerHTML=tree(canvas.documentElement,0)">
     <input type=button value="保存" style="height:16; border:1px solid #C0C0C0;" onClick="saveXML()"><br><br>
     <span id="gradientBox"></span><br>
    <?php    
    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 "要读取的文件<font color='red'>$filename</font>不存在</br />";    
example1.php
<?php
include_once("XML/sql2xml.php");
$sql2xmlclass = new xml_sql2xml("mysql://username:password@localhost/xmltest");
$xmlstring = $sql2xmlclass->getxml("select * from bands");
?>


[!--infotagslink--]

相关文章

  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • MySQL性能监控软件Nagios的安装及配置教程

    这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下...2015-12-14
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • 详解Mysql中的JSON系列操作函数

    新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作,下面就实际体验一下...2016-08-23
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 深入研究mysql中的varchar和limit(容易被忽略的知识)

    为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题。 ...2015-03-15
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • mysql的3种分表方案

    一、先说一下为什么要分表:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1...2014-05-31
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • 用VirtualBox构建MySQL测试环境

    宿主机使用网线的时候,客户机在Bridged Adapter模式下,使用Atheros AR8131 PCI-E Gigabit Ethernet Controller上网没问题。 宿主机使用无线的时候,客户机在Bridged Adapter模式下,使用可选项里唯一一个WIFI选项,Microsoft Virtual Wifi Miniport Adapter也无法上网,故弃之。...2013-09-19
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04