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 相关文章推荐
PHP4实际应用经验篇(8)
Oct 09 PHP
用php+mysql一个名片库程序
Oct 09 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
PHP设计模式 注册表模式
Feb 05 PHP
浅析php原型模式
Nov 25 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP关于foreach复制知识点总结
Jan 28 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 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
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
清除输入框内的空格
2016/12/21 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
Python Trie树实现字典排序
2014/03/28 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python中字符串的操作方法大全
2018/06/03 Python
python微信公众号之关键词自动回复
2018/06/15 Python
Django model序列化为json的方法示例
2018/10/16 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
Python面向对象程序设计示例小结
2019/01/30 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
迷你西餐厅创业计划书范文
2013/12/31 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
讲座通知范文
2015/04/23 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
红与黑读书笔记
2015/06/29 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang