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中上传大体积文件时需要的设置
Oct 09 PHP
php email邮箱正则
Oct 08 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
常用PHP框架功能对照表
Oct 23 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
Mar 07 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
PDO::beginTransaction讲解
Jan 27 PHP
PHP反射原理与用法深入分析
Sep 28 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
8个出色的WordPress SEO插件收集
2011/02/26 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
Vue DevTools调试工具的使用
2017/12/05 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
机电专业个人自荐信格式模板
2013/09/23 职场文书
挂职自我鉴定
2014/02/26 职场文书
学生请假条
2014/04/11 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
班主任2015新年寄语
2014/12/08 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
如何写辞职信
2015/05/13 职场文书
请客吃饭开场白
2015/06/01 职场文书
情人节单身感言
2015/08/03 职场文书
浅谈克隆 JavaScript
2021/11/02 Javascript