/* * Created on 2008-10-25 * * developer by Alex.do QQ:20779512 * PHP 5.0 */ class mdbClass { var $dbPath = 'database/#123123#.mdb'; //数据库路径 var $tabName; //表名 var $aryChar; //写入、查询操作时为列的集合,更新操作时为更新具体内容 var $aryText; //写入操作时为值的集合,更新、删除、查询操作时为更新的条件,批量请赋予1=1 var $showMessage; //操作返回的提示 var $pageCode = 1; //当前页,程序默认为1 var $pageSize = 10; //每页显示记录数,程序默认为10 var $pageUrl = '?'; //分页时传入的其它保留参数 var $pageViewText; //输出分页字符串 var $pageView = false; //是否显示分页,默认为不显示 var $bodyAry = Array(); //返回查询的数据 var $siteCode = Array( //返回提示的文字,目的:多语言 0 => '数据库连接成功!', 1 => '数据库连接失败!', 2 => '数据写入成功!', 3 => '数据更新成功!', 4 => '数据删除成功!', 5 => '数据查询失败!', 6 => '首页', 7 => '上一页', 8 => '下一页', 9 => '尾页' ); //数据库连接 function conn(){ try { $this->conn = new com("ADODB.Connection"); $this->conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this->dbPath)); $this->showMessage = $this->siteCode[0]; } catch(Exception $e){ $this->showMessage = $e->getMessage() . ' ' . $this->siteCode[1]; } } //数据库关闭 function conn_close(){ $this->conn->close(); } //写入数据 function setData(){ $this->conn(); $this->conn->execute("insert into $this->tabName ($this->aryChar) values($this->aryText)"); $this->showMessage = $this->siteCode[2]; $this->conn_close(); } //更新数据 function upData(){ $this->conn(); $this->conn->execute("update $this->tabName set $this->aryChar where $this->aryText"); $this->showMessage = $this->siteCode[3]; $this->conn_close(); } //删除数据 function delData(){ $this->conn(); $this->conn->execute("delete from $this->tabName where $this->aryText"); $this->showMessage = $this->siteCode[4]; $this->conn_close(); } //查询数据 function getData(){ $this->conn(); $rs = $this->conn->execute("select $this->aryChar from $this->tabName where $this->aryText"); if(!$rs->Eof){ $j = 0; $k = 0; if(!preg_match("/^\d+$/" , $this->pageCode)){ $this->pageCode = 1; } while(!$rs->Eof){ $j ++; //把记录写进当前需要显示的二维数组中 if(($j > ($this->pageCode - 1) * $this->pageSize) && ($j <= $this->pageCode * $this->pageSize)){ for($i = 0 ; $i < $rs->Fields->count ; $i ++){ $this->bodyAry[$k][$i] = $rs->Fields[$i]->value; } $k ++; } $rs->movenext(); } //分页 if($this->pageView == true){ $this->pageViewText = '[' . $j . '][' . $this->pageCode . '/' . ceil($j / $this->pageSize) . '] '; if($j > $this->pageSize){ if($this->pageCode > 1){ $this->pageViewText .= "" . $this->siteCode[6] . " "; $this->pageViewText .= "" . $this->siteCode[7] . " "; } else { $this->pageViewText .= $this->siteCode[6] . " "; $this->pageViewText .= $this->siteCode[7] . " ";; } if($this->pageCode < ceil($j / $this->pageSize)){ $this->pageViewText .= "" . $this->siteCode[8] . " "; $this->pageViewText .= "" . $this->siteCode[9] . ""; } else { $this->pageViewText .= $this->siteCode[8] . " "; $this->pageViewText .= $this->siteCode[9]; } } } } else { $this->showMessage = $this->siteCode[5]; exit(); } $rs->close(); $this->conn_close(); } } ?> 使用方法 类名:mdbClass; 作用:操作access的DB类; 作者:biyuan(6010707); 使用方法及范例: $db = new mdbClass(); //实例 $db->tabName = "gbook"; //指定要操作的表名 //数据写入操作 $db->aryChar = "g_name , g_mail , g_oicq , g_tel , g_img , g_body"; $db->aryText = "'admin' , 'xxxx@163.com' , 6010707 , '15994275xxx' , '/face/1.gif' , '测试数据'"; $db->setData(); //数据更新操作 $db->aryChar = "g_name = 'scriptcn' , g_tel = '13800138xxx'"; $db->aryText = "1 = 1"; //条件;赋予1=1表示批量操作 $db->upData(); //数据删除操作 $db->aryText = "id = 4"; $db->delData(); //数据查询操作 $db->aryChar = "id , g_name , g_mail , g_oicq , g_time , g_body"; //可使用“*”全部查询 $db->aryText = "1 = 1 order by id"; //条件1 = 1表示查询所有记录 $db->pageView = true; //是否分页 $db->pageSize = 10; //指定每页记录数 $db->pageUrl = "?id=1&"; //传入其它保留参数 $db->pageCode = $_GET['page']; //获取当前页序号 $db->getData(); echo "
} //echo $db->showMessage; //返回提示内容,调试时可开启 ?> |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 19:29 , Processed in 0.264002 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.