php之函数自动添加数据的代码实现

来源:爱站网时间:2019-02-21编辑:网友分享
开发人员使用自定义的形式存储大量数据,其实页面模板和其他函数的功能也都可以使用自动添加的方式,那么php之函数自动添加数据的代码实现大家清楚吗?下面就让爱站技术频道小编带你一起进入下文了解一下吧!
开发人员使用自定义的形式存储大量数据,其实页面模板和其他函数的功能也都可以使用自动添加的方式,那么php之函数自动添加数据的代码实现大家清楚吗?下面就让爱站技术频道小编带你一起进入下文了解一下吧!
复制代码 代码如下:

/*
*@自动添加数据函数
*@$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之函数自动添加数据的代码实现有所帮助!

上一篇:分享30 个PHP开源CMS内容管理系统

下一篇:程序员告诉你PHP禁止页面缓存的代码

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载