php實現對文本數據庫的數據顯示、加入、修改、刪除、查詢五大基本操作的方法

ebey2291 8年前發布 | 2K 次閱讀 PHP

php實現對文本數據庫的數據顯示、加入、修改、刪除、查詢五大基本操作的方法此文本數據庫共有字段9個:private $bankid;//銀行IDprivate $bankname;//銀行名稱private $bankimg;//銀行圖片private $bankarea;//覆蓋區域private $bankcard;//受理卡種private $banklimit;//支付限額private $bankpasswd;//交易密碼private $banknote;//銀行信息備注private $bankmiss;//銀行其他信息內容。

php實現對文本數據庫的數據顯示、加入、修改、刪除、查詢五大基本操作的方法

<?php
/**
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 . "\r\n";
            //將所有銀行的數據賦予變量$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 < $n; $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] . "\r\n"; 
                    //將數組單元$list[$i]的內容用數組$f加上分隔符"|"代替。 
                    break; //跳出循環 
                }
            }//循環結束符 
        }
        for($i = 0; $i <= $n; $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 < $n; $i ++) { //進入循環 
                if (eregi ( $bankid, $list [$i] )) { //將發送過來的銀行$bankid與數組$list[$i]里的字串進行匹配比較 
                    $list [$i] = ""; //如果匹配成功,則將$list[$i]清空(達到刪除的目的) 
                    break; //跳出循環 
                }
            } //循環結束符 
            FOR($i = 0; $i <= $n; $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 < $n; $i ++) { //進入循環 
                    if (eregi ( $bankid, $list [$i] )) { //輸入的關鍵字與數組$list[$i]里的字串進行匹配比較 
                        $row = explode ( "|", $list [$i] );
                        $id = 1; //如果找到匹配,就以"|"作為分隔符,切開銀行信息$list[$i](第$i條銀行),并將這些數據賦予數組$row.并將變量$id賦予1,以便作為是否找到匹配的判斷。 
                        list ( $bankid,$bankname,$bankimg,$bankarea,$bankcard,$banklimit,$bankpasswd,$banknote,$bankmiss) = $row; //將數組$row里的單元數據按順序賦予括號里的變量 
                        //echo $bankname;
                        return $row;
                    }
                }//循環結束符 
            }
        }
        if ($id == 0) {
            echo "沒有找到與關鍵字匹配的銀行!";
            return false;
        } //如果$id=0則表示沒找到匹配,顯示相關提示 

    }

    public function __destruct() {

    }
}
?>
 本文由用戶 ebey2291 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!