php實作文字資料庫的資料顯示、加入、修改、刪除、查詢五大基本操作的方法
此文字資料庫共有字段9個:
private $bankid;
//銀行ID
private $bankname;
//銀行名稱
private $bankimg;
//銀行圖片
private $bankarea;
//覆蓋區域
private $bankcard;
//受理卡種
private $banklimit;
//支付限額
private $bankpasswd;
//交易密碼
private $banknote;
//銀行資訊備註
private $bankmiss;
//銀行其他資訊內容。
-
/**
- php實作文字資料庫的資料顯示、加入、修改、刪除、查詢五大基本操作的方法。
- 此文字資料庫共有欄位9個:
- private $bankid; //銀行ID
- private $bankname; //銀行名稱
- private $bankimg; //銀行圖片
- private $bankarea ; //覆蓋區域
- private $bankcard; //受理卡種
- private $banklimit; //支付限額
- private $bankpasswd; //交易密碼
- private $banknote; //銀行資訊備註
- private $bankmiss; //銀行其他資訊內容。
- @abstract TxtDB store
- @access public
- @author yuchao1@staff.sina.com.cn
-
- */
-
- class TxtDB {
-
- private $bankid; //銀行ID
- private $bankname; //銀行名稱
- private $bankimg; //銀行圖片
- private $bankarea; //覆蓋區域
- private $bankcard; //受理卡種
- private $banklimit ; //支付限額
- private $bankpasswd; //交易密碼
- private $banknote; //銀行信息備註
- private $bankmiss; //銀行其他信息
-
-
- public function __construct() {
- $bankid = ""; //銀行ID
- $bankname = ""; //銀行名稱
- $bankimg = ""; //銀行圖片
- $bankarea = ""; //覆蓋區域
- $bankcard = ""; //受理卡種
- $banklimit = ""; //支付限額
- $bankpasswd = ""; //交易密碼類型
- $banknote = ""; //銀行資訊備註
- $bankmiss = ""; //銀行其他資訊
- }
- /**
- * 加入資料程式段。
- * $bankinfo array 要插入的銀行資訊清單
- * $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo["bankarea"]
- * $ $ bankinfo["bankcard"]$bankinfo["banklimit"]
- * $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
- * @return boolean 成功
- true
- * 失敗false
- */
- public static function insert($ bankinfo) {
- $date = date ( "Y-m-d H:i:s" ); //取得系統時間
-
- foreach ( $bankinfo as $key => $value ) {
- $key = trim ( $value ); //去掉銀行內容後面的空格.
- }
- try {
- $fp = fopen ( "banklist.txt", "a" ); //以只寫模式開啟banklist.txt文字檔案,檔案指標指向檔案尾端.
- $str = $bankinfo ["bankid"] . "|" . $bankinfo ["bankname"] . "|" . $bankinfo ["bankimg"] . "|" .
- $bankinfo ["bankarea"] . "|" . $bankinfo ["bankcard"] . "|" . $bankinfo ["banklimit"] . "|" .
- $bankinfo [ "bankpasswd"] . "|" . $bankinfo ["banknote"] . "|" . $bankinfo ["bankmiss"] . "|" . $date . "rn";
- //將所有銀行的數據賦予變數$str,"|"的目的是用來今後作資料分割時的資料間隔符號。
- fwrite ( $fp, $str ); //將資料寫入檔案
- fclose ( $fp ); //關閉檔案
- //其中的$banklist是由銀行表單傳過來的資料。
- return true;
- } catch ( Exception $e ) {
- return false;
- }
- }
-
- public static function show() {
- 資料片顯示程式段
- if (file_exists ( "banklist.txt" )) { //偵測檔案是否存在
- $array = file ( "banklist.txt" ); //將檔案全部內容讀入陣列$ array $arr = array_reverse ( $array ); //將$array裡的資料安行翻轉排列(即最後一行當第一行,依此類推)讀入數組$arr的每一個單元($arr[ 0]...)。
- }
- var_dump ( $arr );
- }
-
- /**
- * 資料修改程式段
- * $bankinfo array 要插入的銀行資訊清單
- * $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo[" bankarea"]
- * $bankinfo["bankcard"]$bankinfo["banklimit"]
- * $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
- * @return boolean 成功true
- * 失敗false
- */
- public static function alter($bankinfo) {
- $date = date ( "Y-m-d H:i:s" ); //取得系統修改時間
- $list = file ( "banklist.txt" ); //讀取整個banklist.txt檔案到陣列$list,陣列每個元素為一筆銀行($list[0]是第一條銀行的資料、$list[1]是第一條銀行的資料.....
- $n = count ( $list ); //計算$ list內容裡的銀行總數,並賦予變數$n
- foreach ( $bankinfo as $key => $value ) {
- $key = trim ( $value ); //去掉銀行內容後面的空格.
- }
- if ($n > 0) { //如果銀行數大於0
- $fp = fopen ( "banklist.txt", "w" ); //則以只寫模式開啟檔案banklist .txt
-
- for($i = 0; $i if (eregi ( $bankinfo["bankid"], $list [$ i] )) { //將傳銀行bankid與數組單元$list裡內容進行字符串匹配比較
- $f = explode ( "|", $list [$i] ); //如果找到匹配,就以"|"作為分隔符號,切開銀行資訊$list[$i](第$i條銀行),並將這些資料賦予數組$f
- $f[0] = $bankinfo["bankid"] ;
- $f[1] = $bankinfo["bankname"];
- $f[2] = $bankinfo["bankimg"];
- $f[3] = $bankinfo["bankarea" ];
- $f[4] = $bankinfo["bankcard"];
- $f[5] = $bankinfo["banklimit"];
- $f[6] = $bankinfo["bankpasswd "];
- $f[7] = $bankinfo["banknote"];
- $f[8] = $bankinfo["bankmiss"];
- $f[9] = $date;
- $list [$i] = $f [0] . "|" . $f [1] . "|" . $f [2] . "|" . $f [3] . "|" . $ f [4] . "|" . $f [5] . "|" . $f [6] . "|" . $f [7] . "|" . $f [8] . "|" . $ f [9] . "rn";
- //將數組單元$list[$i]的內容用數組$f加上分隔符號"|"代替。
- break; //跳出迴圈
- }
- }//迴圈結束符
- }
- for($i = 0; $i fwrite ( $fp, $list [$i] ); //將陣列$list的每個單元為一行,寫入檔案banklist.txt
- } //循環結束符號
- fclose ( $fp ); //關閉檔案
- }
- /**
- * 資料刪除程式段
- * @param $bankid 銀行id號
- * @return boolean true 成功
- * false 失敗
- *
- */
- public static function delete($bankid) {
- $list = file ( "banklist.txt" ); //讀取整個banklist.txt檔案到陣列$list,陣列每一個元素為一條銀行($list[0]是第一條銀行的資料、$list[1]是第一條銀行的資料. ....
- $n = count ( $list ); //計算$list內容裡的銀行總數,並賦予變數$n
- if ($n > 0) { //如果銀行數大於0
- $fp = fopen ( "banklist.txt", "w" ); //則以只寫模式開啟檔案banklist.txt
- for($i = 0; $i if (eregi ( $bankid, $list [$i] )) { //將發送過來的銀行$bankid與數組$list[$i]裡的字符串進行匹配比較
- $list [$i] = ""; //如果匹配成功,則將$list[$i]清空(達到刪除的目的)
- break; //跳出迴圈
- }
- } //迴圈結束符
- FOR($i = 0; $i fwrite ( $fp, $list [$i] ); / /將陣列$list的每個單元為一行,寫入檔案banklist.txt
- } //循環結束符號
- fclose ( $fp ); //關閉檔案
- }
- }
-
- /**
- * 資料查詢程式段
- * @param $bankid 銀行ID號碼
- * @return boolean 成功回傳ture
- * 失敗回傳 false
- *
- */
- public static function select($bankid) {
- $id = 0;
- $list = file ( "banklist.txt" ); //讀取取整個banklist.txt檔案到數組$list,
- //數組每一個元素為一條銀行($list[0]是第一條銀行的資料、$list[1]是第二條銀行的資料. ....
- $n = count ( $list ); //計算$list內容裡的銀行總數,並賦予變數$n
- $bankid = trim ( $bankid );
- if (! $bankid) { //如果$bankid為假
- echo "您沒有輸入任何關鍵字! "; //以相關顯示
- return false;
- } else {
- if ($n > 0) { //如果銀行數大於0
- for($i = 0; $i if (eregi ( $bankid, $list [$i] )) { //輸入的關鍵字與數組$list[$i]裡的字符串進行匹配比較
- $row = explode ( "|", $list [$i] );
- $id = 1; //如果找到匹配,就以"|"作為分隔符,切開銀行信息$list[$i](第$i條銀行),並將這些資料賦予數組$row.並將變數$id賦予1,以便作為是否找到匹配的判斷。 $bankimg,$bankarea,$bankcard,$banklimit,$bankpasswd,$banknote,$bankmiss) = $row; //將陣列$row裡的單元資料依序賦予括號裡的變數
- //echo $bankname ;
- return $row;
- }
- }//循環結束符
- }
- }
- if ($id == 0) {
- echo "沒有找到與關鍵字匹配的銀行! ";
- return false;
- } //如果$id=0則表示沒找到匹配,顯示相關提示
-
-
- }
-
- public function __destruct() {
-
- }
- }
- ?>
-
複製程式碼
|