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 相关文章推荐
建站常用13种PHP开源CMS比较
Aug 23 PHP
php中几种常见安全设置详解
Apr 06 PHP
php调用c接口无错版介绍
Mar 11 PHP
PHP原生函数一定好吗?
Dec 08 PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
Jul 03 PHP
php实现QQ小程序发送模板消息功能
Sep 18 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
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
vue小白入门教程
2018/04/02 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
django+echart绘制曲线图的方法示例
2018/11/26 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
python flask中动态URL规则详解
2019/11/22 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
求职者简历中的自我评价
2013/10/20 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
联欢会开场白
2015/06/01 职场文书
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
对Keras自带Loss Function的深入研究
2021/05/25 Python
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL