+ -
当前位置:首页 → 问答吧 → ★ XML数据库类,完全兼容phpMyAdmin ★

★ XML数据库类,完全兼容phpMyAdmin ★

时间:2007-02-28

来源:互联网

我在做一个游戏项目时发现系统平台不能使用Mysql,所以就写了这个类,感觉对于一般的应用还是很方便的.
处理这种格式的XML文件,格式如下:(是由 phpMyAdmin 导出的数据库)
---------------------- db.xml ----------------------
<test_db>
    <users>
        <uid>1</uid>
        <name>张三</name>
        <age>22</age>
  <uid>2</uid>
        <name>李四</name>
        <age>20</age>
    </users>
<books>
        <bid>1</bid>
        <title>语文</title>
        <price>12.5</price>
  <bid>2</bid>
        <title>数学</title>
        <price>18.5</price>
    </books>
</test_db>
-------------------------------------------------------

------------------------ 公共接口成员如下 --------------------

create()        创建一个新表
drop()          删除一个表或表的字段
add_field()     为表添加字段并初始化值
del_field()     删除表或表的字段,drop()的别名
select()        返回查询表的记录结果集
insert()        向表中插入记录
update()        更新表的记录
delete()        删除表记录
save()          将操作结果存盘,记住:只要有数据的更新就一定要存盘
saveas()        将操作后的结果另存为
max()           返回指定表字段的最大值
min()           返回指定表字段的最小值
sum()           返回指定表字段值的和
num_rows()      返回当前查询的记录数
affected_rows() 返回当前 delete update 操作所影响的记录数
tab_rows()      返回表的行数(记录数)
tables()        返回数据库中所有的表名
fields()        返回指定表的所有字段名

-------------------------- 使用说明例子如下 ----------------------

  $xml = 'test.xml';
  $db  = 'test_db';
  $tab = 'books';
  $xml = new XML_DB_CLASS($xml,$db);

  //------ 表结构的操作 ---
  $xml->create($tab,array('id','title','price')); //空库创建表
  $xml->insert($tab,array(1,'语言',25));
  $xml->insert($tab,array(2,'数学',15));
  $xml->insert($tab,array(3,'英语',25));
  $xml->add_field($tab,'zip','518000');            //添加字段
  $xml->del_field($tab,'zip');                     //删除字段
  $xml->save();                                    //保存更新后的结果,注意:所有的更新一定要存盘后才生效

  //----- 基本SQL操作 ----
  $xml->insert($tab,array(4,'物理',15));    //插入记录
  $data=$xml->select($tab);                 //查询表的所有记录
  print_r($data);
  $xml->select($tab,'','','id');            //查询表所有记录按 'id' 字段升序排序
  echo $xml->num_rows();                    //当前查询的记录数
  $xml->select($tab,'','','id','desc');     //查询表所有记录按 'id' 字段降序排序
  $xml->select($tab,'price',25);            //查询表中字段 'price' 等于 25 的记录
  $xml->select($tab,'price',25,'id');       //查询表中字段 'price' 等于 25 的记录,按 'id' 字段升序排序
  $xml->select($tab,'price',25,'id','desc');//查询表中字段 'price' 等于 25 的记录,按 'id' 字段降序排序
  $xml->update($tab,'price',30);            //将表中字段 'price' 的值全部更新为 30
  echo $xml->affected_rows();               //当前操作所影响的记录数
  $xml->update($tab,'price',30,'id',3);     //将字段 'id' 为 3 的记录中字段 'price' 的值更新为 30
  $xml->delete($tab);                       //删除整个表的记录
  $xml->delete($tab,'id',3);                //删除字段 'id' 为 3 的记录

  //----- 辅助性操作 ----
  echo $xml->max($tab,'price'); //字段 'price' 的最大值
  echo $xml->min($tab,'price'); //字段 'price' 的最小值
  echo $xml->sum($tab,'price'); //字段 'price' 值的和
  echo $xml->tab_rows($tab);    //表的记录数
  $tabs = $xml->tables();       //当前数据库中所有表名
  print_r($tabs);
  $fields=$xml->fields($tab);   //表中所有的字段名
  print_r($fields);


更多请看附后件中类有更详细的说明内容! 如果你有什么改进或建议请联系我! 谢谢! ^_^

[ 本帖最后由 bzby555 于 2007-2-28 10:15 编辑 ]

作者: bzby555   发布时间: 2007-02-28

正在学习ing!

作者: Nickboy   发布时间: 2007-02-28

支持一下,

作者: cator   发布时间: 2007-02-28

:)

作者: luzhou   发布时间: 2007-02-28

:( :( :(

作者: kenus   发布时间: 2007-03-05

2.0版快测试完了,支持更多的逻辑判断, 这次升级中新增了一些实用功能,都是向数据库方面的操作!!

作者: bzby555   发布时间: 2007-03-06

附件是咋加上去的.

作者: aceblues   发布时间: 2007-04-07

:handshake

作者: jiexiang   发布时间: 2007-04-14

热门下载

更多