php懶人函數(shù) 自動添加數(shù)據(jù)
更新時間:2011年06月28日 20:53:32 作者:
php懶人函數(shù) 自動添加數(shù)據(jù),需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
/*
*@自動添加數(shù)據(jù)函數(shù)
*@$table 表名
*@$arr 字段庫 array("title",array("content",int))
*@ array(字段,類型)
*@ 類型說明
html--允許html
unhtml-不允許html
int --int類型
float -- float 類型
*/
//自動插入數(shù)據(jù)函數(shù)
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 默認(rèn)不保存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 默認(rèn)不保存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();
}
/**
@自動更新數(shù)據(jù)函數(shù)
*@$table 表名
*@$arr 字段庫 array("title",array("content",int))
*@ array(字段,類型)
*@ 類型說明
html--允許html
unhtml-不允許html
int --int類型
float -- float 類型
** $where 條件數(shù)組 類型同 $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 默認(rèn)不保存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 默認(rèn)不保存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 默認(rèn)不保存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 默認(rèn)不保存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中MongoDB數(shù)據(jù)庫的連接、添加、修改、查詢、刪除等操作實例
- 使用PHPMYADMIN操作mysql數(shù)據(jù)庫添加新用戶和數(shù)據(jù)庫的方法
- PHP簡單系統(tǒng)數(shù)據(jù)添加以及數(shù)據(jù)刪除模塊源文件下載
- PHP添加MySQL數(shù)據(jù)記錄代碼
- PHP實現(xiàn)更新中間關(guān)聯(lián)表數(shù)據(jù)的兩種方法
- php 更新數(shù)據(jù)庫中斷的解決方法
- php daodb插入、更新與刪除數(shù)據(jù)
- PHP大批量插入數(shù)據(jù)庫的3種方法和速度對比
- ThinkPHP實現(xiàn)批量刪除數(shù)據(jù)的代碼實例
- php批量添加數(shù)據(jù)與批量更新數(shù)據(jù)的實現(xiàn)方法
相關(guān)文章
PHP中文URL編解碼(urlencode()rawurlencode()
PHP中對于URL進(jìn)行編碼,可以使用 urlencode() 或者 rawurlencode(),二者的區(qū)別是前者把空格編碼為 '+',而后者把空格編碼為 '%20',不過應(yīng)該注意的是,在編碼時應(yīng)該只對部分URL編碼,否則URL中的冒號和反斜杠也會被轉(zhuǎn)義。2010-07-07