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

首頁 > 網站 > 建站經驗 > 正文

初識通用數據庫操作類――前端easyui-datagrid,form(php)

2024-04-25 20:40:31
字體:
來源:轉載
供稿:網友

初識通用數據庫操作類——前端easyui-datagrid,form(php),實現代碼比較簡單,具體實現步驟請看下文。

實現功能:

左端datagrid顯示簡略信息,右側顯示選中行詳細信息,數據庫增刪改

(1)點擊選中行,右側顯示詳細信息,其中【新增】、【修改】、【刪除】按鈕可用,【保存】按鈕禁用

(2)點擊【新增】按鈕,【修改】,【刪除】按鈕禁用,【保存】按鈕啟用

(3)點擊【修改】按鈕,【新增】,【刪除】按鈕禁用

難點:通用數據庫操作類中insert方法跟update方法

最終效果圖:

前端功能不是很完善,按鈕之間邏輯還是有點問題,最后補充前端代碼

其中Formain.php對前端傳值判斷,并調用actSQL.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語句!";

}

}

}

以上就是本文全部內容,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费电影在线观看| 欧美激情精品久久久久久久变态| 97视频在线观看视频免费视频| 国产成人小视频在线观看| 久久久爽爽爽美女图片| 亚州成人av在线| 国产欧美一区二区白浆黑人| 亚洲欧美日韩区| 欧美亚州一区二区三区| 久久亚洲电影天堂| 日韩在线视频中文字幕| 国产精品国产亚洲伊人久久| 久久精品国产久精国产思思| 亚洲成人网av| 成人精品视频在线| 久久777国产线看观看精品| 91免费视频国产| 欧美性感美女h网站在线观看免费| 中文字幕亚洲综合久久| 成人黄色在线观看| 亚洲成年人在线| 上原亚衣av一区二区三区| 亚洲精品日韩激情在线电影| 欧美成aaa人片在线观看蜜臀| 久久久久久亚洲精品| 福利微拍一区二区| 亚洲美女动态图120秒| 欧美人与性动交a欧美精品| 91高清免费在线观看| 久久色在线播放| 成人免费视频在线观看超级碰| 色哟哟亚洲精品一区二区| 亚洲欧美国产日韩天堂区| 国产精品wwww| 美日韩在线视频| 国产精品爽爽爽| 色偷偷亚洲男人天堂| 91精品成人久久| 韩国三级电影久久久久久| 色综合导航网站| 日本伊人精品一区二区三区介绍| 亚洲自拍在线观看| 国产精品视频久久久久| 国产精品国产亚洲伊人久久| 亚洲视频在线观看网站| 欧美激情xxxxx| 欧美亚洲一区在线| 国产成人综合精品在线| 91精品啪在线观看麻豆免费| 亚洲网在线观看| 国产精品自产拍在线观看中文| 日本人成精品视频在线| 夜夜嗨av一区二区三区四区| 成人精品视频在线| 欧美性xxxx极品hd欧美风情| 大桥未久av一区二区三区| 国产精品丝袜白浆摸在线| 欧美资源在线观看| 午夜剧场成人观在线视频免费观看| 国产亚洲精品久久| 成人在线播放av| 91精品免费视频| 久久九九精品99国产精品| 欧美丝袜一区二区| 97免费视频在线| 91免费视频国产| 91精品免费视频| 亚洲夜晚福利在线观看| 精品视频久久久久久久| 久久人人爽人人爽人人片亚洲| 久久艹在线视频| 国产欧美一区二区三区在线看| 亚洲视频日韩精品| 欧美性在线视频| 精品爽片免费看久久| 欧美日韩中文字幕日韩欧美| 欧洲亚洲女同hd| 精品国产鲁一鲁一区二区张丽| 亚洲一区二区三区在线视频| 亚洲精品久久久久国产| 欧美日韩中文字幕综合视频| 欧美日韩国产一中文字不卡| 俺去啦;欧美日韩| 欧美亚洲在线观看| 欧美一乱一性一交一视频| 国产精品福利在线观看网址| 国产精品久在线观看| 91欧美激情另类亚洲| 亚洲精品美女在线观看| 国产一区二区三区在线观看网站| 亚洲自拍偷拍在线| 国产精品吹潮在线观看| 欧美日韩国产丝袜美女| 欧洲成人性视频| 欧美老女人性生活| 日韩av片电影专区| 97超级碰碰碰久久久| 国产偷国产偷亚洲清高网站| 欧美性做爰毛片| 欧美极品美女视频网站在线观看免费| 正在播放欧美视频| 国产第一区电影| 国产精品欧美久久久| 国产一区二区精品丝袜| 亚洲精品久久7777777| 国产精品久久久91| 欧美在线中文字幕| 日韩中文字幕av| 欧美另类老女人| 亚洲精品视频播放| 欧美另类69精品久久久久9999| 国产精品色婷婷视频| 国产精品久久久久久一区二区| 久久久久久噜噜噜久久久精品| 人人做人人澡人人爽欧美| 国产91精品久| 日韩电视剧在线观看免费网站| 7m精品福利视频导航| 亚洲欧美一区二区三区四区| 成人在线中文字幕| 日本精品久久电影| 精品国产91久久久| 亚洲欧美激情精品一区二区| 啊v视频在线一区二区三区| 欧美影院在线播放| 狠狠色狠狠色综合日日五| 亚洲精品永久免费| 亚洲成人网在线观看| 欧美国产高跟鞋裸体秀xxxhd| 日韩有码在线播放| 国产福利成人在线| 久久夜色精品国产欧美乱| 91九色蝌蚪国产| 欧美久久精品午夜青青大伊人| 日本高清视频一区| 精品国产91乱高清在线观看| 91超碰caoporn97人人| 成人中文字幕在线观看| 日韩经典一区二区三区| 日韩av中文字幕在线播放| 国产一区二区激情| xxxxx成人.com| 日韩av综合网站| 欧美日韩国产专区| 91地址最新发布| wwwwwwww亚洲| 国产亚洲视频中文字幕视频| 成人欧美一区二区三区黑人孕妇| 国产在线视频欧美| 超碰97人人做人人爱少妇| 亚洲国产精彩中文乱码av在线播放| 亚洲va电影大全| 国产福利精品av综合导导航| 日韩av不卡在线| 久久久久久久国产精品| 日韩在线播放av| 5252色成人免费视频| 日韩一二三在线视频播| 欧美亚洲另类制服自拍| 国产精品v片在线观看不卡| 国产中文欧美精品| 国产精品亚洲综合天堂夜夜| 国产高清视频一区三区| 伊人久久综合97精品|