初识通用数据库操作类——前端easyui-datagrid,form(php),实现代码比较简单,具体实现步骤请看下文。
实现功能:
左端datagrid显示简略信息,右侧显示选中行详细信息,数据库增删改
(1)点击选中行,右侧显示详细信息,其中【新增】、【修改】、【删除】按钮可用,【保存】按钮禁用
(2)点击【新增】按钮,【修改】,【删除】按钮禁用,【保存】按钮启用
(3)点击【修改】按钮,【新增】,【删除】按钮禁用
难点:通用数据库操作类中insert方法跟update方法
最终效果图:
前端功能不是很完善,按钮之间逻辑还是有点问题,最后补充前端代码
其中Formain.php对前端传值判断,并调用actSQL.class.php获得结果
代码比较简单
如下:
<"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"); } } "htmlcode">/* * 添加信息 * @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语句!"; } } }以上就是本文全部内容,希望大家喜欢。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“初识通用数据库操作类——前端easyui-datagrid,form(php)”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。