星期四, 4月 11, 2013

「veryLittlePHP」 CREATE DB MODLE

「 My Framework API 」

糟糕,自己寫的鬼框架都記不住了  。 :(

關於自動判別 insert or update DB 函數

特色:
1.提供自動判別 INSERT AND UPDATE
2.DATALIST儲存值 KEY 自動過濾

1.繼承 cx_db
2.在 __construct() 設定 Drives ( mysql or mssql)
3. $this->autoSave( $TableName , $Pk , $DataList  );

$TableName  :  表名稱
$Pk : pk主鍵
$DataList :  儲存資料陣列
      + 結構: $DataList[  {欄位名稱}  ]  =  {儲存的值} ;


範例:
<?php
class mod_file extends cx_db{
    var $mTableName = 'sign_up_file';
    public function __construct( ) {
        $this->setDrives('mysql');
        parent::__construct( );
    }

    public function getFileDataByXno($_year , $_sid){
        $this->mConn->setCxTitle( "mod_file::getFileDataByXno 取得教師服務資料" );
        $_sql = "SELECT * FROM sign_up_file where year=? and sid=? ;";
        return $this->sqlExec( $_sql, array($_year, $_sid )  )->getArray(0);
    }

    public function saveFile($_arr){
        $this->mConn->setCxTitle( "mod_file::saveFile 寫入資料" );
        //檢查 是否有資料
        $_uFData = $this->getFileDataByXno($_arr['year'] , $_arr['sid']);

        if($_uFData == null or $_uFData == false or $_uFData == ''){
            // "insert";
        }else{
            // "update";
            $_arr['id'] = $_uFData['id'];
        }

        return $this->autoSave( 'sign_up_file', 'id', $_arr );
    }

}
?>

沒有留言: