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);

  }