亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP類初識,通用數據庫操作類,前端easyui-datagr

2020-03-24 18:56:55
字體:
來源:轉載
供稿:網友
  • 實現功能:

    左端datagrid顯示簡略信息,右側顯示選中行詳細信息,數據庫增刪改 (1)點擊選中行,右側顯示詳細信息,其中【新增】、【修改】、【刪除】按鈕可用,【保存】按鈕禁用 (2)點擊【新增】按鈕,【修改】,【刪除】按鈕禁用,【保存】按鈕啟用 (3)點擊【修改】按鈕,【新增】,【刪除】按鈕禁用 難點:通用數據庫操作類中insert方法跟update方法 前端功能不是很完善,按鈕之間邏輯還是有點問題,最后補充前端代碼 其中Formain.php對前端傳值判斷,并調用actSQL.html' target='_blank'>class.php獲得結果 代碼比較簡單 如下:
    <?php    require('include/mysql_connect/actSQL.class.php');    $key=$_REQUEST['key'];    $a=new actSQL('localhost','root','1234','tpss');    //獲取信息    if($key=='1')    {                        $a->getAllData('t_prekeychart');    }    if($key=='2')    {                    $objectstr=$_REQUEST['object'];                        if($a->insertData($objectstr,'t_prekeychart'))            {                    echo json_encode('true');            }else{                    echo json_encode('false');            }            //test            //$test='{'keychartid':'2','keyid':'2','keychartname':'2','level':'2','showtype':'2','helptips':'2','keylevel':'2','ishmap':'2'}';            //$a->insertData($test,'t_prekeychart');    }    if($key=='3')    {                    $prekey=$_REQUEST['keychartid'];            $prekeyname='keychartname';            if($a->delData($prekey,$prekeyname,'t_prekeychart'))            {                    echo json_encode('true');            }else{                    echo json_encode('false');            }    }    if($key=='4')    {            $objectstr=$_REQUEST['object'];            $prekeyname='keychartid';            if($a->updData($objectstr,$prekeyname,'t_prekeychart'))            {                    echo json_encode('true');            }else{                    echo json_encode('false');            }    }?>
    看Formain.php中出現的類的各個方法,簡單思考一下 其中 getAllData($tablename)獲取表格的所有信息,這個方法比較簡單,一個簡單的sql語句就可以搞定,最后將結果json格式返回即可 delData($prekey,$prekeyname,$tablename)刪除指定信息,這個更簡單,就不說了 insertData($objectstr,$tablename),其中$objectstr是json格式的字符串,$tablename表名, 難點是將拼湊成insert into $tablename (......) values(.....)這種語句 解決辦法: (1)根據$tablename獲取所有的列名,并將列名數組轉換為字符串,為最后sql語句的拼湊做準備,除此獲取列名還有個目的,往下看 (2)將json格式的字符串$objectstr轉換為關聯數組,調用json_decode()方法 補充json_decode()方法
    mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
    接受一個 JSON 格式的字符串并且把它轉換為 PHP 變量,其中assoc,當該參數為TRUE時,將返回關聯數組。 (3)按照查詢到的列名順序查詢數據,數據為空時,賦值為NULL,將結果存到數組,防止數據庫插入數值錯位(獲取列名的另個原因) (4)將(3)的結果轉化為字符串,調用implode()方法
    補充implode()方法:
    string implode(string glue, array pieces);
    函數將數組的內容組合成一個字符串,參數 glue 是字之間的分隔符號 (5)拼湊sql語句字符串,然后向數據庫插入 updData($objstr,$prekeyname,$tablename)方法難點也是在于sql語句的字符串拼湊,拼湊格式應該如下 update $tablename set ..... where $prekeyname=$data[$prekeyname] 前兩步同insertData() (3)遍歷列名字符數組,獲取非主鍵名的列名值,按照“列名=列名值”的字符串格式存入數組,這里就是set 后面部分的不完全字符串
    (4)將(3)結果轉換為字符串,將數組元素以','分隔開,這個就是set后面最后的字符串 格式為“xx=xx,xx=xx”
    (5)拼湊sql字符串,然后更新數據庫 insertData()以及updData()函數如下
     /*         * 添加信息         * @param:$objstr:json風格的數據庫插入信息字符串         *           $tablename:表名         */        function insertData($objstr,$tablename)        {                $dbc=$this->conData();                if($dbc)                {                        $columnname=array();                    $columnname=$this->getColumns($tablename);                    //echo $columnname[0];                    $clos=implode(',',$columnname); //將列名數組轉換為字符串                    //echo $clos;                    $data=json_decode($objstr,true); //將json格式的字符串轉換為關聯數組                    //echo $value['keychartname'];                    $values=array();                    foreach($columnname as $value)                    {                            //按照查詢到的列名查詢數據,數據為空的,賦值為NULL,防止數據庫插入數值錯位                            //echo $data[$value].'<br>';                            if(isset($data[$value]))                            {                                    array_push($values,$data[$value]);                            }else{                                $data[$value]=NULL;                                array_push($value,$data[$value]);                            }                    }                    $strvalue=implode(',',$values);                    //echo $strvalue;                    /*                    * SQL: insert into $tablename($clos) values(...)                    */                    $sql=<<<SQL                    insert into $tablename($clos) values($strvalue);SQL;                    //echo $sql;                    $res=mysqli_query($dbc,$sql);                    if($res)                    {                        return true;                    }else{                            return false;                    }                }else{                        echo '連接錯誤!';                }                }/*         *更新信息          *@param: $objstr:json風格的數據庫更新信息字符串         *           $tablename:表名         *           $prekeyname:主鍵名                  * */        function updData($objstr,$prekeyname,$tablename)        {                $dbc=$this->conData();                if($dbc)                {                    $columnname=array();                    $columnname=$this->getColumns($tablename);                            //$clos=implode(',',$columnname); //將列名數組轉換為字符串                    $data=json_decode($objstr,true); //將json格式的字符串轉換為關聯數組                    $sets=array();                    foreach($columnname as $value)                    {                                //列名不等于主鍵名獲取值                        if($prekeyname!=$value)                        {                                //set $value=$data[$value];                                array_push($sets,'$value=$data[$value]');//接好的set語句部分                        }                    }                    //$sets數組轉化為字符串                    $stringsets=implode(',',$sets);                    //echo $stringsets;                    /*                    * SQL:update $tablename set ..... where $prekeyname=$data[$prekeyname];                     * */                    $sql=<<<SQL                        update $tablename set $stringsets where $prekeyname=$data[$prekeyname];SQL;                    $res=mysqli_query($dbc,$sql);                    if($res)                    {                        return true;                    }else{                        return false;                    }                }else{                        echo '連接錯誤';                }        }/*         *獲取表的所有列名         *@param:$tablename:表名         */        function getColumns($tablename)        {                $dbc=@mysqli_connect('localhost','root','1234','information_schema');            if(!$dbc)            {                echo 'Connect Error'.mysqli_connect_error($dbc);            }else            {                //連接成功,從表COLUMNS獲取表的所有列名                        $sql='select COLUMN_NAME from columns where TABLE_NAME='$tablename'';                $res=@mysqli_query($dbc,$sql);                $items=array();                if($res)                {                    while($row=mysqli_fetch_array($res,MYSQLI_ASSOC))                    {                        $columnname=$row['COLUMN_NAME'];                        array_push($items,$columnname);                    }                                return $items;                mysqli_close($dbc);                }                else{                    echo '查詢失敗,請檢查SQL語句!';                    }                        }        }

    完整代碼附件(其中easyui相關文件沒有添加


    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    亚洲人在线观看| 日韩极品精品视频免费观看| 国产一区视频在线| 成人精品在线观看| 欧美小视频在线| 91精品国产综合久久久久久久久| 2019中文字幕在线观看| 国产精品永久免费在线| 7777免费精品视频| 91干在线观看| 国产高清在线不卡| 亚洲视频网站在线观看| 欧美一级电影久久| 欧美午夜xxx| 久久男人av资源网站| 日韩av电影免费观看高清| 91高潮精品免费porn| 欧美不卡视频一区发布| 欧美福利小视频| 久久九九免费视频| 国产精品一区二区女厕厕| 国产欧美日韩精品专区| 亚洲成人精品久久久| 尤物yw午夜国产精品视频明星| 97视频在线观看免费高清完整版在线观看| 精品国内亚洲在观看18黄| 国自产精品手机在线观看视频| 中文字幕成人精品久久不卡| 亚洲精品国产电影| 在线视频欧美日韩| 成人黄色免费网站在线观看| 欧美久久久精品| 国产免费亚洲高清| 在线观看精品自拍私拍| 日韩视频欧美视频| 在线播放国产精品| 欧美成人合集magnet| 欧美在线亚洲在线| 国产91精品久| 久久视频在线直播| 日韩女优人人人人射在线视频| 日韩精品免费看| 91精品国产91久久久久久最新| 日韩欧美主播在线| 97精品久久久中文字幕免费| 成人午夜在线视频一区| 91免费综合在线| 日韩电影大全免费观看2023年上| 91精品国产91久久久久久最新| 性欧美视频videos6一9| 精品成人久久av| 欧美精品在线观看| 搡老女人一区二区三区视频tv| 久99九色视频在线观看| 久久久精品999| 韩国欧美亚洲国产| 亚洲尤物视频网| 亚洲综合第一页| 欧美又大又硬又粗bbbbb| 91大神在线播放精品| 欧美日韩精品中文字幕| 日韩极品精品视频免费观看| 亚洲欧美变态国产另类| 国产精品视频白浆免费视频| 久久综合伊人77777尤物| 色在人av网站天堂精品| 日韩精品亚洲视频| 日韩精品免费观看| 国产91精品视频在线观看| 精品久久久国产精品999| 川上优av一区二区线观看| 精品国产一区二区三区四区在线观看| 国产精品视频公开费视频| 91高潮在线观看| 欧美日韩在线观看视频小说| 久久久999精品| 在线日韩欧美视频| 日本成人激情视频| 亚洲在线免费看| 成人网欧美在线视频| 亚洲人成网站在线播| 中文字幕9999| 亚洲国产日韩欧美在线图片| 久久免费成人精品视频| 久久99久久亚洲国产| 国产98色在线| 韩国v欧美v日本v亚洲| 精品无码久久久久久国产| 日韩国产一区三区| 久久精品国产亚洲一区二区| 精品国产91久久久久久| 欧美精品videofree1080p| 久久天堂av综合合色| 91欧美精品午夜性色福利在线| www.xxxx欧美| 日韩最新免费不卡| 一个人www欧美| 国产成人免费av| 欧美日韩加勒比精品一区| www国产精品视频| 日韩美女在线看| 亚洲精品视频在线观看视频| 久久精品国产99国产精品澳门| 欧美韩日一区二区| 中文字幕日韩在线播放| 91国内产香蕉| 国产精品欧美一区二区三区奶水| 欧美另类xxx| 国产丝袜高跟一区| 精品中文视频在线| 欧美自拍视频在线| 深夜福利国产精品| 久久91超碰青草是什么| 57pao成人永久免费视频| 国产精品自拍网| 亚洲视频999| 91在线播放国产| 久久艹在线视频| 日韩在线免费视频| 日韩欧美999| 国产又爽又黄的激情精品视频| 欧美国产日韩一区| 欧美日韩性视频在线| 欧美中文字幕在线| 亚洲国产成人一区| 日本亚洲欧洲色| 国产精品最新在线观看| 456亚洲影院| 国产精品久久久久久久久久免费| 亚洲a一级视频| 久久亚洲一区二区三区四区五区高| 久久成人一区二区| 国产在线视频2019最新视频| 日韩一区二区三区xxxx| 91精品国产99| 日韩电影中文字幕一区| 精品高清美女精品国产区| 国产91精品视频在线观看| 国产精品va在线播放| 深夜成人在线观看| 国产精品久久婷婷六月丁香| 九九九热精品免费视频观看网站| 国产成人鲁鲁免费视频a| 97国产suv精品一区二区62| 欧美激情精品久久久久| 亚洲天堂av在线免费| 国产精品成人va在线观看| 久久人人爽国产| 久久99国产精品自在自在app| 久久夜色撩人精品| 精品国产依人香蕉在线精品| 日韩不卡中文字幕| 青青草99啪国产免费| 欧美日韩亚洲一区二区| 欧美大码xxxx| 国产视频一区在线| 日韩av中文字幕在线| 亚洲性av网站| 久久国产精品99国产精| 日韩欧美亚洲综合| 国产91色在线播放| 91亚洲精品视频| 日韩亚洲综合在线| 成人综合国产精品|