php懒人函数 自动添加数据


Posted in PHP onJune 28, 2011
/* 
*@自动添加数据函数 
*@$table 表名 
*@$arr 字段库 array("title",array("content",int)) 
*@ array(字段,类型) 
*@ 类型说明 
html--允许html 
unhtml-不允许html 
int --int类型 
float -- float 类型 
*/ 
//自动插入数据函数 
function autoInsert($table,$arr=array(),$method='post') 
{ 
$sql="insert into ".DB_TBLPRE."$table set "; 
$var=""; 
print_r($arr); 
if(empty($arr)) $arr=$_POST?$_POST:$_GET; 
if(empty($arr)) return false; 
$ct=count($arr)-1; 
foreach($arr as $k=> $v) 
{ 
$vtype="unhtml"; 
if(is_array($v)) 
{ 
$vtype=@$v[1]; 
$v=$v[0]; 
} 
if($method=='post') 
{ 
$_POST[$v]=isset($_POST[$v])?trim($_POST[$v]):""; 
if(is_int($_POST[$v])) 
{ 
$_POST[$v]=intval($_POST[$v]); 
}elseif(is_float($_POST[$v])) 
{ 
$_POST[$v]=floatval($_POST[$v]); 
}elseif(is_string($_POST[$v])) 
{ 
//等于1 为保存html 默认不保存html 
if($vtype=="unhtml") 
{ 
$_POST[$v]=htmlspecialchars($_POST[$v]); 
}elseif($vtype=="int") 
{ 
$_POST[$v]=@intval($_POST[$v]); 
}elseif($vtype=='float') 
{ 
$_POST[$v]=@floatval($_POST[$v]); 
} 
} 
$var.= "$v = '$_POST[$v]' ".($k<$ct?",":""); 
}else 
{ 
$_GET[$v]=isset($_GET[$v])?trim($_GET[$v]):""; 
if(is_int($_GET[$v])) 
{ 
$_GET[$v]=intval($_GET[$v]); 
}elseif(is_float($_GET[$v])) 
{ 
$_GET[$v]=floatval($_GET[$v]); 
}elseif(is_string($_GET[$v])) 
{ 
//等于1 为保存html 默认不保存html 
if($vtype=='unhtml') 
{ 
$_GET[$v]=htmlspecialchars($_GET[$v]); 
}elseif($vtype=='int') 
{ 
$_GET[$v]=intval($_GET[$v]); 
}elseif($vtype=='float') 
{ 
$_GET[$v]=floatval($_GET[$v]); 
} 
} 
$var .="$v= '$_GET[$v]' ".($k<$ct?",":""); 
} 
} 
$sql.=$var; 
$this->query($sql); 
return $this->insert_id(); 
} 
/** 
@自动更新数据函数 
*@$table 表名 
*@$arr 字段库 array("title",array("content",int)) 
*@ array(字段,类型) 
*@ 类型说明 
html--允许html 
unhtml-不允许html 
int --int类型 
float -- float 类型 
** $where 条件数组 类型同 $arr一样 
*$method 表单提交的方式 
*/ 
function autoUpdate($table,$arr=array(),$where=array(),$method='post') 
{ 
$sql="update ".DB_TBLPRE."$table set "; 
$var=$w=""; 
if(empty($arr)) $arr=$_POST?$_POST:$_GET; 
if(empty($arr)) return false; 
$ct=count($arr)-1; 
foreach($arr as $k=> $v) 
{ 
$vtype="unhtml"; 
if(is_array($v)) 
{ 
$vtype=@$v[1]; 
$v=$v[0]; 
} 
if($method=='post') 
{ 
$_POST[$v]=isset($_POST[$v])?trim($_POST[$v]):""; 
if(is_int($_POST[$v])) 
{ 
$_POST[$v]=intval($_POST[$v]); 
}elseif(is_float($_POST[$v])) 
{ 
$_POST[$v]=floatval($_POST[$v]); 
}elseif(is_string($_POST[$v])) 
{ 
//等于1 为保存html 默认不保存html 
if($vtype=="unhtml") 
{ 
$_POST[$v]=htmlspecialchars($_POST[$v]); 
}elseif($vtype=="int") 
{ 
$_POST[$v]=@intval($_POST[$v]); 
}elseif($vtype=='float') 
{ 
$_POST[$v]=@floatval($_POST[$v]); 
} 
} 
$var.= "$v = '$_POST[$v]' ".($k<$ct?",":""); 
}else 
{ 
$_GET[$v]=isset($_GET[$v])?trim($_GET[$v]):""; 
if(is_int($_GET[$v])) 
{ 
$_GET[$v]=intval($_GET[$v]); 
}elseif(is_float($_GET[$v])) 
{ 
$_GET[$v]=floatval($_GET[$v]); 
}elseif(is_string($_GET[$v])) 
{ 
//等于1 为保存html 默认不保存html 
if($vtype=='unhtml') 
{ 
$_GET[$v]=htmlspecialchars($_GET[$v]); 
}elseif($vtype=='int') 
{ 
$_GET[$v]=intval($_GET[$v]); 
}elseif($vtype=='float') 
{ 
$_GET[$v]=floatval($_GET[$v]); 
} 
} 
$var .="$v= '$_GET[$v]' ".($k<$ct?",":""); 
} 
} 
$sql.=$var; 
//解析 where 
$ct=count($where)-1; 
if(!empty($where)) $w=" where "; 
foreach($where as $k=> $v) 
{ 
$vtype="unhtml"; 
if(is_array($v)) 
{ 
$vtype=@$v[1]; 
$v=$v[0]; 
} 
if($method=='post') 
{ 
$_POST[$v]=isset($_POST[$v])?trim($_POST[$v]):""; 
if(is_int($_POST[$v])) 
{ 
$_POST[$v]=intval($_POST[$v]); 
}elseif(is_float($_POST[$v])) 
{ 
$_POST[$v]=floatval($_POST[$v]); 
}elseif(is_string($_POST[$v])) 
{ 
//等于1 为保存html 默认不保存html 
if($vtype=="unhtml") 
{ 
$_POST[$v]=htmlspecialchars($_POST[$v]); 
}elseif($vtype=="int") 
{ 
$_POST[$v]=@intval($_POST[$v]); 
}elseif($vtype=='float') 
{ 
$_POST[$v]=@floatval($_POST[$v]); 
} 
} 
$w.= "$v = '$_POST[$v]' ".($k<$ct?" and ":""); 
}else 
{ 
$_GET[$v]=isset($_GET[$v])?trim($_GET[$v]):""; 
if(is_int($_GET[$v])) 
{ 
$_GET[$v]=intval($_GET[$v]); 
}elseif(is_float($_GET[$v])) 
{ 
$_GET[$v]=floatval($_GET[$v]); 
}elseif(is_string($_GET[$v])) 
{ 
//等于1 为保存html 默认不保存html 
if($vtype=='unhtml') 
{ 
$_GET[$v]=htmlspecialchars($_GET[$v]); 
}elseif($vtype=='int') 
{ 
$_GET[$v]=intval($_GET[$v]); 
}elseif($vtype=='float') 
{ 
$_GET[$v]=floatval($_GET[$v]); 
} 
} 
$w .="$v= '$_GET[$v]' ".($k<$ct?" and ":""); 
} 
} 
$sql.=$w; 
$this->query($sql); 
}
PHP 相关文章推荐
php巧获服务器端信息
Dec 06 PHP
PHP中的CMS的涵义
Mar 11 PHP
PHP5+UTF8多文件上传类
Oct 17 PHP
php 正确解码javascript中通过escape编码后的字符
Jan 28 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PHP文件缓存内容保存格式实例分析
Aug 20 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
PHP实现可自定义样式的分页类
Mar 29 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
用PHP的反射实现委托模式的讲解
Mar 22 PHP
PHP多进程简单实例小结
Nov 09 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 #PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 #PHP
php skymvc 一款轻量、简单的php
Jun 28 #PHP
关于php mvc开发模式的感想
Jun 28 #PHP
yii框架源码分析之创建controller代码
Jun 28 #PHP
关于PHP中Object对象的笔记分享
Jun 28 #PHP
php dirname(__FILE__) 获取当前文件的绝对路径
Jun 28 #PHP
You might like
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
几个学习PHP的网址
2006/11/25 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
Python的信号库Blinker用法详解
2020/12/31 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
鱼油专家:Omegavia
2016/10/10 全球购物
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
小学班主任培训方案
2014/06/04 职场文书
公司领导班子对照材料
2014/08/18 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
刑事辩护授权委托书范本
2014/10/17 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang